JavaScript/Objekte/Number/toLocaleString

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

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

  • Chrome
  • Firefox
  • IE 11
  • Edge
  • Opera
  • Safari

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.

Versionshinweise:

  • Internet Explorer unterstützt den parameterlosen Aufruf auch in älteren Versionen, die Angabe von locale und Options ist ab Version 11 möglich.
  • Safari unterstützt den Aufruf mit locale und options derzeit (Version 9.1) noch nicht.
Beispiel
var number = 3500.10;
var options = {
	style: "currency",
	currency: "EUR"
};

console.log(number.toLocaleString());
console.log(number.toLocaleString("de-DE", options));
1. Gibt "3.500,10" aus wenn das Betriebssystem auf das de-DE Locale eingestellt ist
2. Gibt "3.500,10 €" aus, wenn das Betriebssystem die deutsche Locale unterstützt.
Feature-Erkennung des locale Parameters
function toLocaleStringSupportsLocales() {
   // Funktion liefert true wenn der locale Parameter unterstützt wird.
   try {
      number.toLocaleString("i");
   } catch (e) {
      return e.name === "RangeError";
   }
   return true;
}
Quelle: MDN


Weblinks[Bearbeiten]