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

Joe*_*tti 1 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;
}
Run Code Online (Sandbox Code Playgroud)

但似乎我不应该这样做.

Gal*_*boy 5

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

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