From 4b1a9203c547c019fc5398082ae19a3f3d4c3efe Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:15 -0500 Subject: initial commit --- .../number/tolocalestring/index.html | 192 +++++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 files/de/web/javascript/reference/global_objects/number/tolocalestring/index.html (limited to 'files/de/web/javascript/reference/global_objects/number/tolocalestring/index.html') diff --git a/files/de/web/javascript/reference/global_objects/number/tolocalestring/index.html b/files/de/web/javascript/reference/global_objects/number/tolocalestring/index.html new file mode 100644 index 0000000000..5e5e132045 --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/number/tolocalestring/index.html @@ -0,0 +1,192 @@ +--- +title: Number.prototype.toLocaleString() +slug: Web/JavaScript/Reference/Global_Objects/Number/toLocaleString +tags: + - Internationalization + - JavaScript + - Method + - Number + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Number/toLocaleString +--- +
{{JSRef}}
+ +

Die toLocaleString() Methode gibt eine Zahl als String in sprachabhängiger Formatierung zurück.

+ +
{{EmbedInteractiveExample("pages/js/number-tolocalestring.html")}}
+ + + +

Die neuen locales und options Argumente ermöglichen es Anwendungen, sprachübliche Formatierungskonventionen zu benutzen und diese anzupassen. In älteren Implementierungen werden die locales und options Argumente ignoriert, und die Formatierung des Strings ist implementierungsabhängig.

+ +

Syntax

+ +
numObj.toLocaleString([locales [, options]])
+ +

Parameter

+ +

Prüfe die Browserkompatibilität, um zu sehen, welcher Browser den locales und options Parameter unterstützt, und das Beispiel Unterstützung für locales und options Argumente prüfen für eine Funktionalitätsprüfung.

+ +
+

Anmerkung: Die ECMAScript Internationalization API, implementiert in Firefox 29, fügte das Argument locales zur Methode Number.toLocaleString() zu. Wenn das Argument {{jsxref("undefined")}} ist, arbeitet die Methode nach der Lokalisierung des OS, während Vorgängerversionen von Firefox Western Arabic zurück geben. Diese Änderung wurde als eine Rückwärtskompatibilität gemeldet. Das Problem wurde bereits behoben ({{bug(999003)}}).

+
+ +
{{page('/de/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat', 'Parameter')}}
+ +

Rückgabewert

+ +

Einen String, der die gegebene Zahl in einer sprachspezifischen Formatierung repräsentiert.

+ +

Beispiele

+ +

Einsatz von toLocaleString()

+ +

Bei der Nutzung ohne Parameter wird der string in der Standardsprache ohne Optionen zurückgegeben:

+ +
var number = 3500;
+
+console.log(number.toLocaleString()); // Ausgabe: "3.500" wenn in Deutscher locale
+
+ +

Unterstützung für locales und options Argumente prüfen

+ +

Die locales und options Argumente sind noch nicht in allen Browsern unterstützt. Zur Prüfung der Unterstützung von ES5.1 und neueren Implementierungen wird vorausgesetzt, dass unbekannte Sprachen zu einem {{jsxref("RangeError")}} führen, was folgendermaßen eingesetzt werden kann:

+ +
function toLocaleStringSupportsLocales() {
+  var number = 0;
+  try {
+    number.toLocaleString('i');
+  } catch (e) {
+    return e.name === 'RangeError';
+  }
+  return false;
+}
+
+ +

Vor ES5.1 mussten die Implementierungen keinen {{jsxref("RangeError")}} erzeugen, wenn toLocaleString  mit Argumenten aufgerufen wurde.

+ +

Eine Prüfung, die in allen Browser funktioniert, auch in denen, die ECMA-262 vor ES5.1 unterstützen, ist die Prüfung auf Funktionen aus ECMA-402, welche Optionen in Number.prototype.toLocaleString direkt unterstützen:

+ +
function toLocaleStringSupportsOptions() {
+  return !!(typeof Intl == 'object' && Intl && typeof Intl.NumberFormat == 'function');
+}
+
+ +

Diese Tests auf dem globalen {{jsxref("Intl")}} Objekt prüfen, ob das Objekt existiert und die Eigenschaft vom Typ Funktion {{jsxref("Intl.NumberFormat")}} hat.

+ +

Einsatz von locales

+ +

Diese Beispiel zeigt einige der Variationen in internationalen Zahlenformaten. Um das Format der Sprache zu bekommen, welches in der Anwendung benutzt wird, spezifiziere die Sprache (und mögliche Rückfallsprachen (fallback)) mit dem locales Argument.

+ +
var number = 123456.789;
+
+// Englische Benutzer sehen ein Punkt anstatt eines Kommas als Dezimaltrenner
+console.log(number.toLocaleString('en-GB'));
+// → 123.456,789
+
+// Arabisch ist in den meisten arabisch Sprechenden Ländern eingesetzt (Eastern Arabic) Ziffern
+console.log(number.toLocaleString('ar-EG'));
+// → ١٢٣٤٥٦٫٧٨٩
+
+// Indien benutzt Tausendertrennzeichen bei Tausend und allen weiteren zwei Stellen
+console.log(number.toLocaleString('en-IN'));
+// → 1,23,456.789
+
+// Chinesisches Zahlensystem
+console.log(number.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
+// → 一二三,四五六.七八九
+
+// Wenn eine Sprache übergeben werden soll, die vielleicht nicht
+// unterstützt wird (Balinesisch), nutze eine fallback Sprache (Indonesisch)
+console.log(number.toLocaleString(['ban', 'id']));
+// → 123.456,789
+
+ +

Einsatz von options

+ +

Das Ergebnis von toLocaleString  kann durch das options Argument angepasst werden.

+ +
var number = 123456.789;
+
+// Währungsformat
+console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
+// → 123.456,79 €
+
+// Der Japanische Yen hat keine Unterwährung (z. B. Cent)
+console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
+// → ¥123,457
+
+// Limitiert auf drei signifikante Stellen
+console.log(number.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
+// → 1,23,000
+
+// Einsatz der Host-Standard-Sprache mit Optionen für die Nummernformatierung
+var num = 30000.65;
+console.log(num.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}));
+// → 30,000.65 wenn Englisch die Standard-Sprache ist, oder
+// → 30.000,65 wenn Deutsch die Standard-Sprache ist, oder
+// → 30 000,65 wenn Französisch die Standard-Sprache ist
+
+ +

Performance

+ +

Wenn eine lange Zahl formatiert werden soll, ist es besser ein {{jsxref("NumberFormat")}} Objekt zu erstellen und die Funktion {{jsxref("NumberFormat.format")}} zu benutzen.

+ +

Spezifikationen

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpezifikationStatusKommentar
{{SpecName('ES3')}}{{Spec2('ES3')}}Initiale Definition. Implementiert in JavaScript 1.5.
{{SpecName('ES5.1', '#sec-15.7.4.3', 'Number.prototype.toLocaleString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}{{Spec2('ESDraft')}} 
{{SpecName('ES Int 1.0', '#sec-13.2.1', 'Number.prototype.toLocaleString')}}{{Spec2('ES Int 1.0')}} 
{{SpecName('ES Int 2.0', '#sec-13.2.1', 'Number.prototype.toLocaleString')}}{{Spec2('ES Int 2.0')}} 
{{SpecName('ES Int Draft', '#sec-Number.prototype.toLocaleString', 'Number.prototype.toLocaleString')}}{{Spec2('ES Int Draft')}} 
+ +

Browserkompatibilität

+ + + +

{{Compat("javascript.builtins.Number.toLocaleString")}}

+ +

Siehe auch

+ + -- cgit v1.2.3-54-g00ecf