检查变量是否为整数的最佳方法

may*_*ank -3 c#

我需要检查一个变量是否是一个整数,我有很多简单的解决方案.

第一个

if(floor(foobar)== foobar)

另一个

if(d%1 == 0)

另一个是将此数字转换为字符串并用点(.)分割,并检查第二个数字是否为"00"

d.toString().分裂( '')[1 /] == "00"

但我认为这不是最佳做法.

很多这种类型的方式,我想要一个可以被所有人接受的标准解决方案.

Jam*_*ass 6

我可能会去

(d % 1) < epsilon
Run Code Online (Sandbox Code Playgroud)

来自链接问题中的评论主题.它比你的两个例子都慢,所以你每秒只能做几百万次而不是每秒几百万次.从好的方面来说,它可以很好地处理浮点漂移和最小值和最大值

  • +1为"几百万而不是几百万".过早优化确实是万恶之源. (2认同)