Ich habe es nur in der JavaScript-Konsole von Firefox versucht, aber keine der folgenden Anweisungen gibt true zurück:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
Ich habe es nur in der JavaScript-Konsole von Firefox versucht, aber keine der folgenden Anweisungen gibt true zurück:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
Eine andere Lösung wird in MDN's parseFloat Seite
Es bietet eine Filterfunktion für das strenge Parsing
var filterFloat = function (value) {
if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
.test(value))
return Number(value);
return NaN;
}
console.log(filterFloat('421')); // 421
console.log(filterFloat('-421')); // -421
console.log(filterFloat('+421')); // 421
console.log(filterFloat('Infinity')); // Infinity
console.log(filterFloat('1.61803398875')); // 1.61803398875
console.log(filterFloat('421e+0')); // NaN
console.log(filterFloat('421hop')); // NaN
console.log(filterFloat('hop1.61803398875')); // NaN
Und dann können Sie isNaN
um zu prüfen, ob es sich um NaN
Ich habe diese Antwort auf eine andere Frage zu StackOverflow wo ein anderer prüft, wann NaN == null
aber dann wurde es als Duplikat markiert, so dass ich meine Arbeit nicht verschwenden möchte.
Blick auf Mozilla-Entwickler-Netzwerk über NaN
.
Verwenden Sie einfach distance || 0
wenn Sie sicher sein wollen, dass Ihr Wert eine richtige Zahl ist oder isNaN()
um es zu überprüfen.
Die NaN (Not-a-Number) ist eine seltsame Global Object in Javascript häufig zurückgegeben, wenn einige mathematische Operation fehlgeschlagen.
Sie wollten prüfen, ob NaN == null
welche Ergebnisse false
. Hovewer selbst NaN == NaN
Ergebnisse mit false
.
Ein einfacher Weg, um herauszufinden, ob die Variable NaN
ist eine globale Funktion isNaN()
.
Eine andere ist x !== x
was nur wahr ist, wenn x NaN ist. (Dank für den Hinweis an @raphael-schweikert)
Finden wir es heraus.
Wenn Sie anrufen NaN == false
das Ergebnis ist false
, ebenso bei NaN == true
.
Irgendwo in den Spezifikationen JavaScript hat einen Datensatz mit immer falsche Werte, die umfasst:
NaN
- Nicht-eine-Nummer""
- leere Zeichenkettefalse
- ein boolescher Wert falsenull
- Null-Objektundefined
- undefinierte Variablen0
- numerisch 0, einschließlich +0 und -0 CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.