Ho un programma che tenta di ridurre a double
un numero desiderato. L'output che ottengo è NaN
.In Java, cosa significa NaN?
Cosa significa "NaN
" in Java?
Ho un programma che tenta di ridurre a double
un numero desiderato. L'output che ottengo è NaN
.In Java, cosa significa NaN?
Cosa significa "NaN
" in Java?
Tratto da this page:
"nan" sta per "non un numero". "Nan" viene prodotto se l'operazione di virgola mobile ha alcuni parametri di input che provocano l'effetto di un risultato non definito. Ad esempio, 0.0 diviso per 0.0 è aritmeticamente indefinito. Anche la radice quadrata di un numero negativo non è definita.
Inoltre, NaN è definito dallo standard IEEE per l'aritmetica in virgola mobile (IEEE 754) in modo abbastanza esplicito che Java segue ciecamente. Leggere lo standard apre gli occhi su un sacco di cose, i molteplici valori di zero sono una delle cose. – Esko
Inoltre, 'NaN' ha la proprietà interessante di essere l'unico" numero "che non è uguale a se stesso se confrontato. Quindi un test comune (e in molti linguaggi l'unico) se un numero 'x' è' NaN' è il seguente: 'booleano isNaN (x) {return x! = X;}' – quazgar
Solo a parte: JavaScript nativo ' isNaN (...) 'non funziona come la funzione di @ quazgar. Invece, restituisce anche 'true' quando lo passa un non numero, come una stringa primitiva, un oggetto o' undefined'. In questi casi, 'x! == x' produce invece' false'. Quindi, la versione di quazgar controlla bene se 'x' è un numero NaN * *. (So che la domanda riguarda Java, non JavaScript.) – Arjan
Non è un tipo Java, ma in JS e in altre lingue uso "Non un numero", il che significa che alcune operazioni non hanno causato un numero valido.
Letteralmente significa "Non un numero". Sospetto che ci sia qualcosa di sbagliato nel tuo processo di conversione.
controllare la sezione non un numero a this reference
NaN = Not a Number.
Non un valore a virgola mobile valido (per esempio il risultato della divisione per zero)
NaN
significa "Not a Number" ed è il risultato di operazioni non definiti su numeri in virgola mobile come ad esempio dividendo zero per zero. (Si noti che mentre dividendo un numero diverso da zero per lo zero è anche solitamente indefinito in matematica, non risulta in NaN ma in infinito positivo o negativo).
NaN
significa "Non un numero". È un valore in virgola mobile speciale che significa che il risultato di un'operazione non è stato definito o non è rappresentabile come un numero reale.
Vedere here per ulteriori spiegazioni di questo valore.
NaN sta per Not a Number. È usato per indicare qualsiasi valore matematicamente indefinito. Mi piace dividere 0,0 per 0,0. Puoi dare un'occhiata qui per ulteriori informazioni: https://web.archive.org/web/20120819091816/http://www.concentric.net/~ttwang/tech/javafloat.htm
Pubblica qui il tuo programma se hai bisogno di ulteriore aiuto.
NaN
significa “Not a Number” ed è fondamentalmente una rappresentazione di un particolare valore in virgola mobile nello standard IEE 754 floating point. NaN generalmente significa che il valore è qualcosa che non può essere espresso con un numero in virgola mobile valido.
Una conversione darà come risultato questo valore, quando il valore che viene convertito è un'altra cosa, ad esempio quando si converte una stringa che non rappresenta un numero.
Mezzi Not a Number. È una rappresentazione comune per un valore numerico impossibile in molti linguaggi di programmazione.
C'è una buona descrizione di NaN e delle più comuni insidie quando si utilizza NaN in Java: http://ppkwok.blogspot.co.uk/2012/11/java-cafe-1-never-write-nan-nan_24 .html – Phil