| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/parseFloat | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
Die parseFloat()-Funktion analysiert ein String-Argument und gibt eine Gleitkommazahl zurck.
function circumference(r) {
return parseFloat(r) * 2.0 * Math.PI;
}
console.log(circumference(4.567));
// Expected output: 28.695307297889173
console.log(circumference("4.567abcdefgh"));
// Expected output: 28.695307297889173
console.log(circumference("abcdefgh"));
// Expected output: NaN
parseFloat(string)
stringDer zu analysierende Wert, erzwingt die Umwandlung in einen String. Fhrende Leerzeichen in diesem Argument werden ignoriert.
Eine Gleitkommazahl, die aus dem gegebenen string analysiert wurde, oder NaN, wenn das erste Nicht-Leerzeichen-Zeichen nicht in eine Zahl umgewandelt werden kann.
Hinweis:
JavaScript unterscheidet auf Sprachebene nicht zwischen "Gleitkommazahlen" und "Ganzzahlen". parseInt() und parseFloat() unterscheiden sich nur in ihrem Analyseverhalten, aber nicht notwendigerweise in ihren Rckgabewerten. Beispielsweise wrden parseInt("42") und parseFloat("42") denselben Wert zurckgeben: eine Number 42.
Die parseFloat-Funktion konvertiert ihr erstes Argument in einen String, analysiert diesen String als ein Dezimalzahlen-Literal und gibt dann eine Zahl oder NaN zurck. Die von ihr akzeptierte Zahlensyntax lsst sich wie folgt zusammenfassen:
parseFloat() akzeptierten Zeichen sind das Pluszeichen (+), das Minuszeichen (- U+002D HYPHEN-MINUS), Dezimalziffern (0 9), der Dezimalpunkt (.), das Exponentenzeichen (e oder E) und das Literal "Infinity".+/- Zeichen knnen nur streng am Anfang des Strings oder unmittelbar nach dem e/E Zeichen erscheinen. Der Dezimalpunkt kann nur einmal und nur vor dem e/E Zeichen erscheinen. Das e/E Zeichen kann nur einmal erscheinen und nur, wenn mindestens eine Ziffer davor vorhanden ist.parseFloat() kann auch Infinity oder -Infinity analysieren und zurckgeben, wenn der String mit "Infinity" oder "-Infinity" beginnt, denen keine oder mehr Leerzeichen vorangestellt sind.parseFloat() whlt das lngste Teilstring ausgehend vom Anfang, das ein gltiges Zahlenliteral erzeugt. Wenn es auf ein ungltiges Zeichen stt, gibt es die Zahl zurck, die bis zu diesem Punkt dargestellt wurde, und ignoriert das ungltige Zeichen sowie alle folgenden Zeichen.parseFloat NaN zurck.Syntaxmig analysiert parseFloat() ein Teilset der Syntax, das die Number()-Funktion akzeptiert. Namentlich untersttzt parseFloat() keine nicht-dezimalen Literale mit 0x, 0b oder 0o Prfixen, untersttzt aber alles andere. parseFloat() ist jedoch toleranter als Number(), da es nachgestellte ungltige Zeichen ignoriert, die Number() dazu bringen wrden, NaN zurckzugeben.
hnlich wie Zahlenliterale und Number(), kann die von parseFloat() zurckgegebene Zahl nicht genau der Zahl entsprechen, die durch den String dargestellt wird, aufgrund von Gleitkomma-Bereich und Ungenauigkeit. Bei Zahlen auerhalb des -1.7976931348623158e+308 1.7976931348623158e+308 Bereichs (siehe Number.MAX_VALUE) wird -Infinity oder Infinity zurckgegeben.
Die folgenden Beispiele geben alle 3.14 zurck:
parseFloat(3.14);
parseFloat("3.14");
parseFloat(" 3.14 ");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14some non-digit characters");
parseFloat({
toString() {
return "3.14";
},
});
Das folgende Beispiel gibt NaN zurck:
parseFloat("FF2");
Anekdotisch, da der String NaN selbst eine ungltige Syntax ist, wie sie von parseFloat() akzeptiert wird, liefert das bergeben von "NaN" ebenfalls NaN.
parseFloat("NaN"); // NaN
Infinity-Werte werden zurckgegeben, wenn die Zahl auerhalb des Bereichs des Doppelprzisions-64-Bit IEEE 754-2019-Formats liegt:
parseFloat("1.7976931348623159e+308"); // Infinity
parseFloat("-1.7976931348623159e+308"); // -Infinity
Infinity wird auch zurckgegeben, wenn der String mit "Infinity" oder "-Infinity" beginnt:
parseFloat("Infinity"); // Infinity
parseFloat("-Infinity"); // -Infinity
parseFloat() verarbeitet keine BigInt-Werte. Es stoppt am n-Zeichen und behandelt den vorhergehenden String als normale ganze Zahl, mit mglichem Przisionsverlust. Wenn ein BigInt-Wert an parseFloat() bergeben wird, wird er in einen String konvertiert, und der String wird als Gleitkommazahl analysiert, was ebenfalls zu einem Przisionsverlust fhren kann.
parseFloat(900719925474099267n); // 900719925474099300
parseFloat("900719925474099267n"); // 900719925474099300
Sie sollten den String an die BigInt()-Funktion bergeben, ohne das nachgestellte n-Zeichen.
BigInt("900719925474099267");
// 900719925474099267n
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-parsefloat-string |
Der Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |