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 einer Zahl konvertiert werden kann, wird NaN zurückgegeben.

Beschreibung

parseFloat ist eine top-level Funktion und ist mit keinen Object assoziiert.

parseFloat übersetzt sein Argument, einen String, in eine Fließkommazahl. Trifft sie dabei auf ein anderes Zeichen als ein Vorzeichen (+ oder -), numerischen Werten (0-9), einen Dezimalpunkt, oder eine Exponenten, so gibt es den Wert zurück bis zu diesem Punkt und ignoriert dieses Zeichen, sowie alle nachfolgenden. Anführende und abschließende Leerzeichen sind erlaubt.

Wenn das erste Zeichen nicht in eine Nummer konvertiert werden kann, gibt parseFloat den Wert NaN zurück.

Für arithmetische Zwecke ist NaN keine Zahl in jedem Zahlensystem. Man kann die isNaN Funktion aufrufen, um festzustellen ob NaN das Ergebnis von parseFloat ist. Wenn NaN Operand eine arithmetische Operation ist, wird das Ergebnis ebenfalls NaN sein.

parseFloat kann ebenfalls den Wert Infinity parsen und zurückgeben. Man kann die isFinite Funktion benutzen um festzustellen ob das Ergebnis eine endliche Nummer ist. (Nicht -Infinity, oder NaN).

parseFloat kann zudem Objekte übersetzen, wenn diese eine toString oder valueOf Methode haben. Das Ergebnis ist das selbe, wenn parseFloat mit den Ergebnissen der genannten Methoden ausgeführt wird.

Beispiele

parseFloat Rückgabe einer Nummer

Die folgenden beispiele geben alle 3.14 zurück

parseFloat(3.14);
parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14mehr nicht-Ziffern Zeichen");

var foo = Object.create(null);
foo.toString = function () { return "3.14"; };
parseFloat(foo);

var foo = Object.create(null);
foo.valueOf = function () { return "3.14"; };
parseFloat(foo);

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 Initiale 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 Latest Draft (ECMA-262)
Die Definition von 'parseFloat' in dieser Spezifikation.
Entwurf  

Browserkompatiblität

FunktionChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung Ja Ja1 Ja Ja Ja
FunktionAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Ja Ja Ja4 Ja Ja Ja

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
Mitwirkende an dieser Seite: schlagi123, bsotodo, crood
Zuletzt aktualisiert von: schlagi123,