识别双变量中的浮点

时间:2015-05-15 21:37:22

标签: c# floating-point double bignum

我遇到双变量大数字的问题。想象一下,我有3个这样的数字:

  1. 124.556321466
  2. 120.00
  3. 1.79769313486232E+308
  4. 我只想识别第2项或那些在浮点后没有任何有价值数字的数字。换句话说,这些数字可以是整数,数字的长度也不相同。

    另外两件事:

    • 我不想将它们转换为字符串,因为它对CPU来说非常耗时。
    • 我无法将它们转换为整数,因为我需要所有的数字。

1 个答案:

答案 0 :(得分:1)

有几个Math函数,例如Math.Truncate,如果输入是整数,则返回与其输入相同的值。检查double是否为整数的最简单方法是检查原始值与Math.Truncate或类似结果之间的相等性。

但是,您可能会对某些结果感到惊讶。 4.503599627370496E15和所有较大的有限双精度都是整数值。