gpt4 book ai didi

c++ - 整数或 double 1.0 和 1

转载 作者:太空宇宙 更新时间:2023-11-04 14:59:41 25 4
gpt4 key购买 nike

我想读取一个 double 并确定输入是整数还是 double 。问题是,当我输入 1.00(它是 double 的)时,我得到的结果是整数

double a;
cin >> a;
if (a == int(a))
cout << "Integer";
else
cout << "Double";

最佳答案

您可以读入一个字符串并检查它是否包含小数点分隔符。假设它是“.”,这是一个示例实现:

#include <iostream>
#include <string>

int main()
{
std::string s;
std::cin >> s;
std::cout << ((s.find('.') == std::string::npos) ? "integer" : "double") << std::endl;
return 0;
}

您还必须检查指数(如 2e-1)。这是完成所有操作的一种方法:

#include <iostream>
#include <string>

int main()
{
std::string s;
std::cin >> s;
if (s.find_first_of(".,eE") == std::string::npos)
std::cout << "integer" << std::endl;
else
std::cout << "double" << std::endl;
return 0;
}

关于c++ - 整数或 double 1.0 和 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55339845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com