Есть ли способ узнать, является ли double действительным числом в C #? - PullRequest
1 голос
/ 20 января 2010

Так что есть метод для NaN, но деление на ноль создает бесконечность или отрицательную бесконечность.

Существует метод для бесконечности (также положительная бесконечная и отрицательная бесконечность).

Что яwant - это функция IsARealNumber, которая возвращает значение true, когда значение является выразимым числом.

Очевидно, что я могу написать свой собственный ...

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

, но, похоже, мне не нужно.

1 Ответ

5 голосов
/ 20 января 2010

Чтобы добавить его в качестве метода расширения, он должен быть статическим членом статического класса.

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