2014-12-16 3 views
2

В java мы можем использовать метод isNan() для float и double значения.
т.д .:Метод IsNan() Доступность

if (!Double.isNaN(0.01)) { 
    // condition happens  
} 


if (!Float.isNaN(0.01F)) { 
    // condition happens  
} 


Интересно, почему мы не можем использовать его для Целые.

+6

Поскольку целые числа и строки не могут принимать священные приказы? (Извините, высмеивая опечатку 'isNun'). – IMSoP

+0

Вы можете посмотреть http://stackoverflow.com/questions/17615634/why-doesnt-integer-represent-nan-in-java для получения дополнительной информации по аналогичному вопросу – nunofmendes

+1

@IMSoP Java, Sun (Microsystems) и неправильный POST? – mkobit

ответ

6

NaN = Not a Number, то есть неопределенное или непредставимое число, такое как квадратный корень из -1. Целые числа всегда хорошо определены, а строки просто не являются номерами, поэтому они не имеют отношения к проверке против NaN.

+0

Благодарим за разъяснения ... –

2

Потому что String и Integer не может быть NaN.

+0

Моя ошибка, чтобы задать этот вопрос ..: D благодарю вас за прояснение идеи. –

2

NaN - особое значение чисел с плавающей запятой, а также других, таких как Infinity; целые числа и строки не имеют таких специальных значений, поэтому функции для их проверки не имеют смысла.

Причина, по которой они существуют, состоит в представлении результатов определенных вычислений, так что числа с плавающей запятой могут использоваться в произвольных математических ситуациях.

+0

Thank u для вашего ответа .. –