У меня есть программа, которая пытается сжать double
до нужного номера. Выход я получаю NaN
.В Java, что означает NaN?
Что означает NaN
на языке Java?
У меня есть программа, которая пытается сжать double
до нужного номера. Выход я получаю NaN
.В Java, что означает NaN?
Что означает NaN
на языке Java?
this page Взято из:
"NaN" означает "не число". «Нан» производится, если операция с плавающей точкой имеет некоторые входные параметры , которые приводят к тому, что операция производит некоторый неопределенный результат. Например, 0,0, деленное на 0,0, является арифметически неопределенным. Взятие квадратного корня из отрицательного числа также не определено.
Кроме того, NaN определен стандартом IEEE для арифметики с плавающей запятой (IEEE 754), явно явным образом, который Java следует слепо. Чтение стандарта открывает вам глаза на множество вещей, причем несколько значений нуля являются одной из вещей. – Esko
Кроме того, 'NaN' обладает интересным свойством быть единственным« числом », которое не совпадает с самим собой при сравнении. Поэтому общий (и на многих языках единственный) тест, если число 'x' является' NaN', является следующим: 'boolean isNaN (x) {return x! = X;}' – quazgar
Так же, как в стороне: собственный ' isNaN (...) 'не работает, как функция @ quazgar. Вместо этого он даже возвращает 'true', передавая ему не число, как примитивную строку, объект или' undefined'. В этих случаях 'x! == x' вместо этого возвращает' false'. Итак, версия quazgar прекрасно проверяет, является ли 'x' номером NaN *. (Я знаю, что вопрос касается Java, а не JavaScript.) – Arjan
Не парень Java, но в JS и других языках я использую его «Not a Number», что означает, что некоторая операция заставила его стать недействительным числом.
Это буквально означает «Не номер». Я подозреваю, что что-то не так с процессом конверсии.
Заканчивать раздел Not A Number в this reference
NaN = не число.
не является допустимым значением с плавающей точкой (например, результат деления на ноль)
NaN
означает «не число» и является результатом неопределенных операций над числами с плавающей запятой, как, например, деля нуль на ноль. (Заметим, что при делении ненулевого числа на ноль также обычно не определено в математике, это не приводит к NaN, а к положительной или отрицательной бесконечности).
NaN
означает «Не количество». Это специальное значение с плавающей запятой, что означает, что результат операции не был определен или не был представлен как действительное число.
См. here для более подробного объяснения этого значения.
NaN означает не номер. Он используется для обозначения любого значения, которое математически не определено. Как деление 0.0 на 0.0. Вы можете посмотреть здесь для получения дополнительной информации: https://web.archive.org/web/20120819091816/http://www.concentric.net/~ttwang/tech/javafloat.htm
Отправьте свою программу здесь, если вам нужна дополнительная помощь.
NaN
означает «не число» и в основном это представление особого значения с плавающей запятой в стандарте IEE 754 floating point. NaN обычно означает, что это значение, которое не может быть выражено с допустимым числом с плавающей запятой.
Преобразование приведет к этому значению, когда преобразованное значение является чем-то другим, например, при преобразовании строки, которая не представляет число.
Средство не является числом. Это общее представление о невозможном числовом значении во многих языках программирования.
Существует хорошее описание NaN и общих ошибок при использовании NaN в Java: http://ppkwok.blogspot.co.uk/2012/11/java-cafe-1-never-write-nan-nan_24 .html – Phil