因此NaN有一种方法,但除以零会产生无穷大或负无穷大。
Infinity有一种方法(也是正无穷大和负无穷大)。
我想要的是IsARealNumber函数,当值是可表达的数字时返回true。
显然我可以写自己的......
public bool IsARealNumber(double test)
{
if (double.IsNaN(test)) return false;
if (double.IsInfinity(test)) return false;
return true;
}
但似乎我不应该这样做。
答案 0 :(得分:5)
要将其添加为扩展方法,它必须是静态类的静态成员。
public static class ExtensionMethods
{
public static bool IsARealNumber(this double test)
{
return !double.IsNaN(test) && !double.IsInfinity(test);
}
}