Почему не срабатывает условие? Помогите разобраться со значением NaN

введите сюда описание изображения

Не понимаю, y = NaN, но почему тогда условие выдает false? Или существуют два разных значения NaN?


Ответы (1 шт):

Автор решения: Space Researcher

NaN это условность, означающая Not a Number, внутри класса (в данном случае double) она как-то описана и когда вы пишите double.NaN вы как раз пытаетесь вызвать это описание, но значение у есть NaN, а не описание NaN-а. Следовательно вы должны вызывать специальную функцию в классе double. Обычно она называется типа isNan() или подобным образом. В шарпе это Double.IsNaN(y)

→ Ссылка