Die parseFloat() Funktion parsed ein Zeichenketten Argument und gibt eine Fließkommazahl zurück.
Syntax
parseFloat(string)
Parameter
string- Eine Zeichenkette die den Wert representiert, den man parsen möchte.
Rückgabewert
Eine Fließkommazahl des übergebenen Strings. Wenn das erste Zeichen nicht zu eine Zahl konvertiert werden kann, wird NaN zurückgegeben.
Beschreibung
parseFloat ist eine top-level Funktion und ist mit keinen Object assoziiert.
parseFloat parsed sein Argument, einen String, und gibt eine Fließkomma Nummer zurück. Trifft es dabei auf ein anderes Zeichen als ein Symbol (+ oder -), numerisch (0-9), einen Dezimalpunkt, oder eine Hochzahl, so gibt es den Wert zurück bis zu diesem Punkt, und ignoriert dieses Zeichen, sowie alle nachfolgenden. Anführende und schließende Leerzeichen sind erlaubt.
Wenn das erste Zeichen nicht in eine Nummer konvertiert werden kann, dann sended parseFloat den Wert NaN zurück.
Für aritmetische Anlässe, bildet der NaN Wert keine Nummer aus einer Wurzel. Man kann die isNaN Funktion aufrufen, um festzustellen ob NaN das Ergebnis von parseFloat ist. Wenn NaN an eine aritmetische Operation übergeben wird, wird deren Ergebnis ebenfalls NaN sein.
parseFloat kann ebenfalls den Wert Infinity parsen und zurück geben. Man kann die isFinite Funktion benutzen um festzustellen ob das Ergebnis eine endliche Nummer ist. (Nicht -Infinity, oder NaN).
Beispiele
Beispiel: parseFloat Rückgabe einer Nummer
Die folgenden beispiele geben alle 3.14 zurück
parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14mehr non-digit Zeichen");
Beispiel: parseFloat Rückgabe von NaN
Das folgende Beipsiel gibt NaN zurück
parseFloat("FF2");
Eine striktere parse Funktion
Unter bestimmten Umständen ist es hilfreich einen strikteren Weg zu haben, um fließende Werte zu parsen. Reguläre Ausdrücke können hierbei helfen:
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
Hinweis: Dies ist lediglich ein Beispiel, es akzeptiert keine zulässigen Nummern wie 1. oder 5.
Spezifikationen
| Spezifikation | Status | Kommentar |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | Standard | Anfängliche Definition. |
| ECMAScript 5.1 (ECMA-262) Die Definition von 'parseFloat' in dieser Spezifikation. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'parseFloat' in dieser Spezifikation. |
Standard | |
| ECMAScript 2017 Draft (ECMA-262) Die Definition von 'parseFloat' in dieser Spezifikation. |
Entwurf |
Browserkompatiblität
| Merkmal | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basis Support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
| Merkmal | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basis Support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |