我需要检查变量是否是整数,并且我有很多简单的解决方案。
if(floor(foobar)== foobar)
if(d%1 == 0)
另一个是将此数字转换为字符串并用点(。)分割,并检查第二个数字是" 00"
。d.toString()分割('')[1 /] ==" 00"
但我认为这不是最佳做法。
很多这种方式,我想要一个所有人都能接受的标准解决方案。
答案 0 :(得分:6)
我可能会选择
(d % 1) < epsilon
来自链接问题中的评论主题。它比你的两个例子都慢,所以你每秒只能做几百万次而不是每秒几百万次。在正面,它可以很好地处理浮点漂移和最小值和最大值
答案 1 :(得分:0)
在C#中,您可以使用内置函数int.TryParse()
int x;
bool result= int.TryParse(integerNumber.ToString(), out x);
如果结果为true,则为整数,否则为非。
答案 2 :(得分:-1)
IMO,(int)d == d
在可读性方面是最好的。