JavaScript/Objekte/Number/toLocaleString
Die Methode Number.toLocaleString() -Methode gibt eine die Number repräsentierende Zeichenkette zurück. Der Rückgabewert ist ähnlich dem Ergebnis von toString(), kann aber die Spracheinstellungen des Betriebssystems berücksichtigen um die Darstellung von Tausender-Separator und Dezimaltrennzeichen zu verändern. EcmaScript 5 definiert es als "zulässig, aber nicht erwünscht", wenn toLocaleString() nichts anderes tut als toString().
Syntax: Number.toLocaleString([locales [, options]])
Mittels des locales
Parameters kann angegeben werden, welche Locale zur Aufbereitung verwendet werden sollen. Die Locale-Angaben entsprechen dem BCP 47 Sprachidentifizierer. Es können mehrere Locales, durch Leerstelle getrennt angegeben werden. Das erste vom System unterstützte Locale wird verwendet.
Der options-Parameter definiert unterschiedlichste Regeln zur Aufbereitung. Hierfür sei einstweilen auf das MDN verwiesen.
var number = 3500.10;
var options = {
style: "currency",
currency: "EUR"
};
console.log(number.toLocaleString());
console.log(number.toLocaleString("de-DE", options));
Die Parameter locales
und options
wurden erst später ergänzt. Folgen Sie dem caniuse-Link für Kompatibilitätsinformationen. Wenn Sie alte Browser unterstützen wollen, können Sie mit dem folgenden Algorithmus erkennen, ob die zusätzlichen Parameter unterstützt werden. Der letzte Browser, der diese Abfrage brauchte, war allerdings Safari 9.1, seit 2016 ist Safari 10 verfügbar und kompatibel.
function toLocaleStringSupportsLocales() {
// Funktion liefert true wenn der locale Parameter unterstützt wird.
try {
number.toLocaleString("i");
} catch (e) {
return e.name === "RangeError";
}
return true;
}
Weblinks
- ECMAScript 2015 (6th Edition, ECMA-262): Number.prototype.toLocaleString()
- MDN: Number.prototype.toLocaleString()