2

是不是任何计算或方法都允许我检查 c# 代码中的双精度值是 Int 还是 Double

例子

Double NumberOne = 55.00 // Return False 
Double NumberTwo = 55.10 // Return True
4

4 回答 4

4

采用Math.Floor

 if (Math.Floor(number) == number) {
     // yay, an "int"
 }
于 2013-01-02T08:05:43.013 回答
3
    private bool IsDoubleNotAnInt(double num)
    {
        if ((num % 1) == 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
于 2013-01-02T08:10:09.217 回答
2

你可以检查

n % 1 == 0

来确定这一点。

于 2013-01-02T08:10:08.453 回答
1

您可以将其与不带小数部分的值进行比较:

Math.Floor(n) != n
于 2013-01-02T08:06:23.663 回答