有没有一种方法可以找出C#中的double是否是实数?

时间:2010-01-19 23:48:08

标签: c# math double

因此NaN有一种方法,但除以零会产生无穷大或负无穷大。

Infinity有一种方法(也是正无穷大和负无穷大)。

我想要的是IsARealNumber函数,当值是可表达的数字时返回true。

显然我可以写自己的......

public bool IsARealNumber(double test)
{
    if (double.IsNaN(test)) return false;
    if (double.IsInfinity(test)) return false;
    return true;
}

但似乎我不应该这样做。

1 个答案:

答案 0 :(得分:5)

要将其添加为扩展方法,它必须是静态类的静态成员。

public static class ExtensionMethods
{
    public static bool IsARealNumber(this double test)
    {
        return !double.IsNaN(test) && !double.IsInfinity(test);
    }
}