Tengo un programa que intenta reducir un double
hasta un número deseado. El resultado que obtengo es NaN
.En Java, ¿qué significa NaN?
¿Qué significa NaN
en Java?
Tengo un programa que intenta reducir un double
hasta un número deseado. El resultado que obtengo es NaN
.En Java, ¿qué significa NaN?
¿Qué significa NaN
en Java?
Tomado de this page:
"NaN" significa "no es un número". "Nan" se produce si una operación de coma flotante tiene algunos parámetros de entrada que hacen que la operación produzca algún resultado indefinido. Por ejemplo, 0.0 dividido por 0.0 no está aritméticamente definido. Tomar la raíz cuadrada de un número negativo tampoco está definido.
Además, NaN está definido por el estándar IEEE para aritmética de coma flotante (IEEE 754) bastante explícitamente, que Java sigue ciegamente. Leer el estándar abre los ojos a un montón de cosas, los valores múltiples de cero son una de las cosas. – Esko
Además, 'NaN' tiene la interesante propiedad de ser el único" número "que no es igual a él en comparación. Por lo tanto, una prueba común (y en muchos idiomas la única) si un número 'x' es' NaN' es la siguiente: 'boolean isNaN (x) {return x! = X;}' – quazgar
Solo como un aparte: JavaScript's native ' isNaN (...) 'no funciona como la función de @ quazgar. En cambio, incluso devuelve 'verdadero' al pasar un número no, como una cadena primitiva, un objeto o 'indefinido'. En esos casos, 'x! == x' produce' false' en su lugar. Entonces, la versión de Quazgar comprueba muy bien si 'x' es un número NaN * *. (Sé que la pregunta es sobre Java, no sobre JavaScript.) – Arjan
No soy Java, pero en JS y en otros idiomas lo uso como "No es un número", lo que significa que algunas operaciones provocaron que no se convirtiera en un número válido.
Literalmente significa "No es un número". Sospecho que algo está mal con su proceso de conversión.
Mira la sección no es un número en this reference
NaN = Not a Number.
No es un valor de punto flotante válido (por ejemplo, el resultado de la división por cero)
NaN
significa "no es un número" y es el resultado de las operaciones definidas en los números de coma flotante como por ejemplo dividiendo cero por cero. (Tenga en cuenta que aunque dividir un número distinto de cero entre cero también suele ser indefinido en matemáticas, no da como resultado NaN, sino un infinito positivo o negativo).
NaN
significa "No es un número". Es un valor de coma flotante especial que significa que el resultado de una operación no se definió o no se puede representar como un número real.
Consulte here para obtener más información sobre este valor.
NaN significa Not a Number. Se usa para indicar cualquier valor matemáticamente indefinido. Como dividir 0.0 por 0.0. Puede buscar aquí para obtener más información: https://web.archive.org/web/20120819091816/http://www.concentric.net/~ttwang/tech/javafloat.htm
Publique aquí su programa si necesita más ayuda.
NaN
significa “no es un número” y es básicamente una representación de un valor de punto flotante especial en el estándar IEE 754 floating point. NaN generalmente significa que el valor es algo que no se puede expresar con un número de punto flotante válido.
Una conversión dará como resultado este valor, cuando el valor que se está convirtiendo es otra cosa, por ejemplo, al convertir una cadena que no representa un número.
Significa que no es un número. Es una representación común para un valor numérico imposible en muchos lenguajes de programación.
Hay una buena descripción de NaN y de las trampas comunes al usar NaN en Java: http://ppkwok.blogspot.co.uk/2012/11/java-cafe-1-never-write-nan-nan_24 .html – Phil