124 votes

En Java, qu'est-ce que NaN signifie?

J'ai un programme qui essaie de réduire un double au nombre souhaité. La sortie que je reçois est NaN.

Que signifie NaN en Java?

166voto

KennyDeriemaeker Points 889

Tiré de cette page :

"NaN" signifie "pas un nombre". "Nan" est produit si une opération à virgule flottante a certains paramètres d'entrée qui lui donnent un résultat non défini. Par exemple, 0.0 divisé par 0.0 est arithmétiquement non défini. Prendre la racine carrée d'un nombre négatif est également indéfini.

20voto

poke Points 64398

NaN signifie Not a Number et est fondamentalement une représentation d'une valeur double dans une représentation à virgule flottante IEE 754, indiquant que les données ne sont en réalité pas un nombre.

Une conversion entraînera cette valeur si inattendue la valeur ne peut pas être convertie (par exemple, en convertissant une chaîne qui ne représente pas un nombre en un nombre à virgule flottante).

15voto

sepp2k Points 157757

NaN signifie "Pas un nombre" et est le résultat d'opérations non définies sur des nombres en virgule flottante, comme par exemple la division de zéro par zéro. (Notez que bien que diviser un nombre non nul par zéro soit aussi généralement non défini en mathématiques, cela ne donne pas NaN mais un infini positif ou négatif).

5voto

Phil Points 111

Il existe une bonne description de NaN et des pièges courants lors de l’utilisation de NaN en Java:

http://ppkwok.blogspot.co.uk/2012/11/java-cafe-1-never-write-nan-nan_24.html

5voto

Mike Daniels Points 5729

NaN signifie "Ce n'est pas un nombre." C'est une valeur spéciale en virgule flottante qui signifie que le résultat d'une opération n'a pas été défini ou ne peut pas être représenté sous forme de nombre réel.

Voir ici pour plus d'explications sur cette valeur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X