En Java, ¿qué significa NaN?


Tengo un programa que intenta reducir un double a un número deseado. La salida que obtengo es NaN.

¿Qué significa NaN en Java?

 87
Author: TryinHard, 2010-04-11

10 answers

Tomado de esta página:

"NaN" significa "no es un número". "Nan" se produce si un punto flotante la operación 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 es aritméticamente indefinido. Tomando la raíz cuadrada de un número negativo también es indefinido.

 132
Author: KennyDeriemaeker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-01 16:53:04

NaN significa "No es un número" y es básicamente una representación de un valor especial de coma flotante en el estándar de coma flotante IEE 754 . Nan generalmente significa que el valor es algo que no se puede expresar con un número de coma flotante válido.

Una conversión dará como resultado este valor, cuando el valor que se convierte es otra cosa, por ejemplo, al convertir una cadena que no representa un número.

 14
Author: poke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-27 10:22:04

NaN significa "No un número" y es el resultado de operaciones indefinidas en números de coma flotante como por ejemplo dividir cero por cero. (Tenga en cuenta que si bien dividir un número distinto de cero por cero también es generalmente indefinido en matemáticas, no resulta en NaN sino en infinito positivo o negativo).

 11
Author: sepp2k,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-11 17:59:45

NaN significa " No un número."Es un valor especial de coma flotante que significa que el resultado de una operación no se definió o no se puede representar como un número real.

Ver aquí para más explicación de este valor.

 5
Author: Mike Daniels,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-11 17:59:57

NaN significa No un número. Se utiliza para significar cualquier valor que es matemáticamente indefinido. Como dividir 0.0 0.0 por. Puede buscar aquí para más información: https://web.archive.org/web/20120819091816/http://www.concentric.net/~ttwang/tech/javafloat.htm

Publique su programa aquí si necesita más ayuda.

 5
Author: Prachi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-15 20:25:19

NaN = No es un Número.

 4
Author: Fitzchak Yitzchaki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-11 17:59:28

No significa un Número. Es una representación común de un valor numérico imposible en muchos lenguajes de programación.

 4
Author: lbedogni,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-11 18:04:50

No es un tipo Java, pero en JS y otros lenguajes lo uso "No es un número", lo que significa que alguna operación hizo que no fuera un número válido.

 3
Author: Brian Mains,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-11 17:59:20

Significa literalmente "No es un Número."Sospecho que algo está mal con su proceso de conversión.

Echa un vistazo a la sección No un número en esta referencia

 3
Author: Chris Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-11 17:59:28

No es un valor de coma flotante válido (por ejemplo, el resultado de la división por cero)

Http://en.wikipedia.org/wiki/NaN

 3
Author: Vladimir Dyuzhev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-11 17:59:40