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) |