可能的重复:
如何判断小数/双精度数是否为整数? https://stackoverflow.com/questions/2751593/how-to-determine-if-a-decimal-double-is-an-integer
我有一个 double 类型的变量,我想检查它是否是整数。
此刻我有
public bool CheckIfInteger(double number)
{
return number.ToString().Contains(".") == false;
}
有没有更好的办法?
更新:抱歉,我没有意识到可能会造成混淆,我所说的整数是指整数的数学定义,即自然数以及非零自然数的负数。
return Math.Truncate(number) == number;
正如评论中提到的,您可能需要考虑这样一个事实:double
您的数字的表示形式可能不是精确的整数。在这种情况下,您需要考虑一些误差范围:
double diff = Math.Abs(Math.Truncate(number) - number);
return (diff < 0.0000001) || (diff > 0.9999999);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)