我的意思是:
double d1 =555;
double d2=55.343
我想知道d1是一个整数,而d2不是。在c/c++中有简单的方法吗?
最佳答案
使用 std::modf
:
double intpart;
modf(value, &intpart) == 0.0
不要转换为
int
!您也知道1.0e+300
这个数字是整数。编辑:正如Pete Kirkham指出的那样,标准不保证将0作为第二个参数传递给标准,因此需要使用虚拟变量,并且不幸的是,这使代码不太优雅。