当前位置:  开发笔记 > 编程语言 > 正文

检查浮点变量是否为整数的最可靠方法是什么?

如何解决《检查浮点变量是否为整数的最可靠方法是什么?》经验,为你挑选了1个好方法。

我可以想到几种方法,例如.

Convert.ToInt32(floatingPoint) - floatingPoint == 0;
Math.Truncate(floatingPoint) - floatingPoint == 0;
floatingPoint % 1 == 0;
Math.Floor(floatingPoint) == floatingPoint;
//etc...

但哪种方法最可靠?



1> Guffa..:

您不应检查精确相等为零,因为浮点数通常仅包含与您分配给它的数字最接近的可能近似值.

例如,类型可能表示的最接近42的值可能类似于42.00000000000000662,您仍然希望将其计为整数值.

取值和舍入值之间的差值,然后取其值的绝对值(这样它不是负数)并比较一个小值:

if (Math.Abs(Math.Round(floatingPoint) - floatingPoint) < 0.000001) ...

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有