diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
commit | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch) | |
tree | d4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/web/javascript/reference/global_objects/number/tolocalestring | |
parent | 33058f2b292b3a581333bdfb21b8f671898c5060 (diff) | |
download | translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2 translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip |
initial commit
Diffstat (limited to 'files/de/web/javascript/reference/global_objects/number/tolocalestring')
-rw-r--r-- | files/de/web/javascript/reference/global_objects/number/tolocalestring/index.html | 192 |
1 files changed, 192 insertions, 0 deletions
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 +--- +<div>{{JSRef}}</div> + +<p>Die <strong><code>toLocaleString()</code></strong> Methode gibt eine Zahl als String in sprachabhängiger Formatierung zurück.</p> + +<div>{{EmbedInteractiveExample("pages/js/number-tolocalestring.html")}}</div> + + + +<p>Die neuen <code>locales</code> und <code>options</code> Argumente ermöglichen es Anwendungen, sprachübliche Formatierungskonventionen zu benutzen und diese anzupassen. In älteren Implementierungen werden die <code>locales</code> und <code>options</code> Argumente ignoriert, und die Formatierung des Strings ist implementierungsabhängig.</p> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox"><code><em>numObj</em>.toLocaleString(</code><code>[locales [, options]])</code></pre> + +<h3 id="Parameter">Parameter</h3> + +<p>Prüfe die <a href="#Browserkompatibilität">Browserkompatibilität</a>, um zu sehen, welcher Browser den <code>locales</code> und <code>options</code> Parameter unterstützt, und das Beispiel <a href="#Example:_Checking_for_support_for_locales_and_options_arguments">Unterstützung für <code>locales</code> und <code>options</code> Argumente prüfen</a> für eine Funktionalitätsprüfung.</p> + +<div class="note"> +<p><strong>Anmerkung:</strong> Die ECMAScript Internationalization API, implementiert in Firefox 29, fügte das Argument <code>locales</code> zur Methode <code>Number.toLocaleString()</code> zu. Wenn das Argument {{jsxref("undefined")}} ist, arbeitet die Methode nach der Lokalisierung des OS, während Vorgängerversionen von Firefox <a href="https://en.wikipedia.org/wiki/Arabic_numerals">Western Arabic</a> zurück geben. Diese Änderung wurde als eine Rückwärtskompatibilität gemeldet. Das Problem wurde bereits behoben ({{bug(999003)}}).</p> +</div> + +<div>{{page('/de/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat', 'Parameter')}}</div> + +<h3 id="Rückgabewert">Rückgabewert</h3> + +<p>Einen String, der die gegebene Zahl in einer sprachspezifischen Formatierung repräsentiert.</p> + +<h2 id="Beispiele">Beispiele</h2> + +<h3 id="Einsatz_von_toLocaleString()">Einsatz von <code>toLocaleString()</code></h3> + +<p>Bei der Nutzung ohne Parameter wird der string in der Standardsprache ohne Optionen zurückgegeben:</p> + +<pre class="brush: js">var number = 3500; + +console.log(number.toLocaleString()); // Ausgabe: "3.500" wenn in Deutscher locale +</pre> + +<h3 id="Unterstützung_für_locales_und_options_Argumente_prüfen">Unterstützung für <code>locales</code> und <code>options</code> Argumente prüfen</h3> + +<p>Die <code>locales</code> und <code>options</code> 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:</p> + +<pre class="brush: js">function toLocaleStringSupportsLocales() { + var number = 0; + try { + number.toLocaleString('i'); + } catch (e) { + return e.name === 'RangeError'; + } + return false; +} +</pre> + +<p>Vor ES5.1 mussten die Implementierungen keinen {{jsxref("RangeError")}} erzeugen, wenn <code>toLocaleString</code> mit Argumenten aufgerufen wurde.</p> + +<p>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 <code>Number.prototype.toLocaleString</code> direkt unterstützen:</p> + +<pre class="brush: js">function toLocaleStringSupportsOptions() { + return !!(typeof Intl == 'object' && Intl && typeof Intl.NumberFormat == 'function'); +} +</pre> + +<p>Diese Tests auf dem globalen {{jsxref("Intl")}} Objekt prüfen, ob das Objekt existiert und die Eigenschaft vom Typ Funktion {{jsxref("Intl.NumberFormat")}} hat.</p> + +<h3 id="Einsatz_von_locales">Einsatz von <code>locales</code></h3> + +<p>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 <code>locales</code> Argument.</p> + +<pre class="brush: js">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 (<a href="https://en.wikipedia.org/wiki/Eastern_Arabic_numerals">Eastern Arabic</a>) Ziffern +console.log(number.toLocaleString('ar-EG')); +// → ١٢٣٤٥٦٫٧٨٩ + +// Indien benutzt Tausendertrennzeichen bei Tausend und allen weiteren <strong>zwei Stellen</strong> +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 +</pre> + +<h3 id="Einsatz_von_options">Einsatz von <code>options</code></h3> + +<p>Das Ergebnis von <code>toLocaleString</code> kann durch das <code>options</code> Argument angepasst werden.</p> + +<pre class="brush: js">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 +</pre> + +<h2 id="Performance">Performance</h2> + +<p>Wenn eine lange Zahl formatiert werden soll, ist es besser ein {{jsxref("NumberFormat")}} Objekt zu erstellen und die Funktion {{jsxref("NumberFormat.format")}} zu benutzen.</p> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Status</th> + <th scope="col">Kommentar</th> + </tr> + <tr> + <td>{{SpecName('ES3')}}</td> + <td>{{Spec2('ES3')}}</td> + <td>Initiale Definition. Implementiert in JavaScript 1.5.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.7.4.3', 'Number.prototype.toLocaleString')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-number.prototype.tolocalestring', 'Number.prototype.toLocaleString')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES Int 1.0', '#sec-13.2.1', 'Number.prototype.toLocaleString')}}</td> + <td>{{Spec2('ES Int 1.0')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES Int 2.0', '#sec-13.2.1', 'Number.prototype.toLocaleString')}}</td> + <td>{{Spec2('ES Int 2.0')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES Int Draft', '#sec-Number.prototype.toLocaleString', 'Number.prototype.toLocaleString')}}</td> + <td>{{Spec2('ES Int Draft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("javascript.builtins.Number.toLocaleString")}}</p> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{jsxref("Number.prototype.toString()")}}</li> +</ul> |