【发布时间】:2016-11-03 13:33:35
【问题描述】:
如何检查c++中的初始化变量是整数值还是浮点值?
示例代码块如下所示:
int main()
{
double number = 9.99;
if (/*Checks whether the value of the 'number' is an integral*/)
cout << "The 'number' has an integral value";
else
cout << "It's not an integral value" // This condition will true if 'number' has a floating point number
return 0;
}
【问题讨论】:
-
你认为 7.0 是整数还是非整数?
-
使用 std::modf en.cppreference.com/w/cpp/numeric/math/modf 可能与此 stackoverflow.com/questions/1521607/… 重复
-
什么是整数值?你的意思是整数值吗?
-
所以如果我的代码有问题,请纠正我
-
你可以使用一些简单的东西,例如你可以使用
number == static_cast<int>(number)。但是,它有一些缺点,例如7.0被接受为整数。还有浮点值的舍入问题,一个值可能非常接近一个整数,但不完全是。
标签: c++