Метод IsNaN
Статический метод double.IsNaN возвращает
true, если аргумент - NaN. Обычное
сравнение с double.NaN через ==
не подходит, потому что NaN не равен
сам себе. Для обычных чисел метод даёт false.
Синтаксис
bool res = double.IsNaN(value);
Пример
Давайте проверим результат 0.0 / 0.0:
using System;
class Program
{
static void Main()
{
double num = 0.0 / 0.0;
Console.WriteLine(double.IsNaN(num));
}
}
Результат выполнения кода:
True
Пример
Давайте проверим обычное число:
using System;
class Program
{
static void Main()
{
Console.WriteLine(double.IsNaN(5.0));
}
}
Результат выполнения кода:
False
Пример
Давайте убедимся, что == не находит NaN:
using System;
class Program
{
static void Main()
{
double num = double.NaN;
Console.WriteLine(num == double.NaN);
}
}
Результат выполнения кода:
False
Смотрите также
-
константа
NaN,
которую распознаёт IsNaN -
метод
IsFinite,
который отвергает NaN -
метод
IsInfinity,
который для NaN даёт false -
класс
Double,
в котором объявлен IsNaN