以往的方法
double x;
if((int)x == x)
{
return 1;
}
弊端在于,x可能是特别大的数,强制转换为int可能导致整形溢出。
新的方法
#include<math.h>
double result;
if(floor(result)==result)
{
return 1;
}
使用floor函数:向下取整,取不大于x的最大整数。我并没有把他存为int,只是取了它的整数位,这就不会形成错误。
案例
double x = 1.5,y;
y = floor(x);
y = 1