1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
|
---
title: Intl.NumberFormat
slug: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
tags:
- Internationalization
- JavaScript
- NumberFormat
translation_of: Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
---
<div>{{JSRef}}</div>
<p>Das <strong><code>Intl.NumberFormat</code></strong> Objekt ist ein Konstruktor für Objekte, die sprachabhängige Zahlenformatierungen nutzen.</p>
<div>{{EmbedInteractiveExample("pages/js/intl-numberformat.html")}}</div>
<h2 id="Syntax">Syntax</h2>
<pre class="syntaxbox"><code>new Intl.NumberFormat([<var>locales</var>[, <var>options</var>]])
Intl.NumberFormat.call(<var>this</var>[, <var>locales</var>[, <var>options</var>]])
</code></pre>
<h3 id="Parameter">Parameter</h3>
<dl>
<dt><code>locales</code></dt>
<dd>Optional. Ein String mit einem BCP 47 Sprachcode, oder ein Array mit solchen Strings. Für die generelle Form und Interpretation des <code>locales</code> Arguments siehe im {{jsxref("Intl", "Intl Artikel", "#Locale_identification_and_negotiation", 1)}}. Die folgenden Unicode Erweiterungsschlüssel sind erlaubt:</dd>
<dd>
<dl>
<dt><code>nu</code></dt>
<dd>Das einzusetzende Nummerierungssystem. Mögliche Wert sind:<code> "arab"</code>, <code>"arabext"</code>, <code>"bali"</code>, <code>"beng"</code>, <code>"deva"</code>, <code>"fullwide"</code>, <code>"gujr"</code>, <code>"guru"</code>, <code>"hanidec"</code>, <code>"khmr"</code>, <code>"knda"</code>, <code>"laoo"</code>, <code>"latn"</code>, <code>"limb"</code>, <code>"mlym"</code>, <code>"mong"</code>, <code>"mymr"</code>, <code>"orya"</code>, <code>"tamldec"</code>, <code>"telu"</code>, <code>"thai"</code>, <code>"tibt"</code>.</dd>
</dl>
</dd>
<dt><code>options</code></dt>
<dd>
<p>Optional. Ein Objekt mit einigen oder allen der folgenden Eigenschaften:</p>
<dl>
<dt><code>localeMatcher</code></dt>
<dd>Der Spracherkennungsalgorithmus. Mögliche Werte sind <code>"lookup"</code> und <code>"best fit"</code>. Der Standardwert ist <code>"best fit"</code>. Für mehr Informationen siehe in den {{jsxref("Intl", "Intl Artikel", "#Locale_negotiation", 1)}}.</dd>
<dt><code>style</code></dt>
<dd>Der einzusetzende Formatierungsstil. Mögliche Werte sind <code>"decimal"</code> für einfache Zahlenformate, <code>"currency"</code> für Währungen, <code>"percent"</code> für Prozentzahlen. Der Standardwert ist <code>"decimal"</code>.</dd>
<dt><code>currency</code></dt>
<dd>Die bei der Währungsformatierung einzusetzende Währung. Mögliche Werte sind die ISO 4217 Währungscodes wie zum Beispiel <code>"USD"</code> für US Dollar, <code>"EUR"</code> für Euro und <code>"CNY"</code> für Chinesischen RMB (siehe <a href="http://www.currency-iso.org/en/home/tables/table-a1.html">Current currency & funds code list</a>). Es gibt keinen Standardwert. Wenn <code>style</code> auf <code>"currency"</code> gesetzt ist, muss die <code>currency</code> Eigenschaft gesetzt werden.</dd>
<dt><code>currencyDisplay</code></dt>
<dd>Währungsanzeige im String. Mögliche Werte sind <code>"symbol"</code> für lokalisierte Währungssymbole wie zum Beispiel €, <code>"code"</code> für ISO Währungscodes, <code>"name"</code> für den Namen der Währung wie zum Beispiel <code>"dollar"</code>. Der Standardwert ist <code>"symbol"</code>.</dd>
<dt><code>useGrouping</code></dt>
<dd>Gruppierung der Zahl. Wird für das Ein- und Ausschalten der Tausendertrenner oder thousand/lakh/crore-Trenner eingesetzt. Mögliche Werte sind <code>true</code> und <code>false</code>. Der Standardwert ist <code>true</code>.</dd>
</dl>
<p>Die folgenden Eingeschaften fallen in zwei Gruppen: <code>minimumIntegerDigits</code>, <code>minimumFractionDigits</code>, und <code>maximumFractionDigits</code> in einer Gruppe, <code>minimumSignificantDigits</code> und <code>maximumSignificantDigits</code> in der anderen. Wenn nur eine Eigenschaft der zweiten Gruppe genutzt wird, wird die erste Gruppe ignoriert.</p>
<dl>
<dt><code>minimumIntegerDigits</code></dt>
<dd>Die minimale Anzahl von Ganzzahl Ziffern. Mögliche Werte sind zwischen 1 und 21. Der Standardwert ist 1.</dd>
<dt><code>minimumFractionDigits</code></dt>
<dd>Die minimale Anzahl von Nachkommastellen. Mögliche Werte sind zwischen 0 und 20. Der Standardwert für Zahlen und Prozentzahlen ist 0. Der Standard für Währungen ist die Anzahl der Stellen für die Untereinheit der Währung, die eingesetzt wird (<a href="http://www.currency-iso.org/en/home/tables/table-a1.html">ISO 4217 currency code list</a>) oder 2, wenn die Währung nicht unterstützt wird.</dd>
<dt><code>maximumFractionDigits</code></dt>
<dd>Die Maximale Anzahl von Nachkommastellen. Mögliche Werte sind zwischen 0 und 20. Der Standardwert für einfache Zahlen ist die größere Zahl von <code>minimumFractionDigits</code> und <code>3</code>. Der Standardwert für Währungen ist der größere von <code>minimumFractionDigits</code> und der Anzahl der Stellen für die Untereinheit der Währung oder 2 wenn die Währung nicht unterstützt wird. Der Standardwert für Prozentzahlen ist die größere Zahl von <code>minimumFractionDigits</code> und <code>0</code>.</dd>
<dt><code>minimumSignificantDigits</code></dt>
<dd>Die minimale Anzahl von signifikanten Stellen. Mögliche Werte sind zwischen 1 und 21. Der Standardwert ist 1.</dd>
<dt><code>maximumSignificantDigits</code></dt>
<dd>Die maximale Anzahl von signifikanten Stellen. Mögliche Werte sind zwischen 1 und 21. Der Standardwert ist <code>minimumSignificantDigits</code>.</dd>
</dl>
</dd>
</dl>
<h2 id="Beschreibung">Beschreibung</h2>
<h3 id="Eigenschaften">Eigenschaften</h3>
<dl>
<dt>{{jsxref("NumberFormat.prototype", "Intl.NumberFormat.prototype")}}</dt>
<dd>Erlaubt das Hinzufügen von Eigenschaften zu allen Objekten.</dd>
</dl>
<h3 id="Methoden">Methoden</h3>
<dl>
<dt>{{jsxref("NumberFormat.supportedLocalesOf", "Intl.NumberFormat.supportedLocalesOf()")}}</dt>
<dd>Gibt ein Array zurück, welches alle Sprachen enthält, die unterstützt werden, ohne auf den Laufzeitstandard zurückzufallen (ohne fallback).</dd>
</dl>
<h2 id="NumberFormat_Instanzen"><code>NumberFormat</code> Instanzen</h2>
<h3 id="Eigenschaften_2">Eigenschaften</h3>
<p><code>NumberFormat</code> Instanzen erben die folgenden Eigenschaften von ihrem Prototyp:</p>
<div>{{page('/de/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype', 'Eigenschaften')}}</div>
<h3 id="Methoden_2">Methoden</h3>
<p><code>NumberFormat</code> Instanzen erben die folgenden Methoden von ihrem Prototyp:</p>
<div>{{page('/de/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/prototype', 'Methoden')}}</div>
<h2 id="Beispiele">Beispiele</h2>
<h3 id="Standardeinsatz">Standardeinsatz</h3>
<p>Beim Einsatz ohne spezifizierte Sprache wird ein formatierter String in der Standardsprache und mit Standardoptionen zurückgegeben:</p>
<pre class="brush: js">var number = 3500;
console.log(new Intl.NumberFormat().format(number));
// → '3.500' wenn in Deutscher Sprache
</pre>
<h3 id="Einsatz_von_locales">Einsatz von <code>locales</code></h3>
<p>Diese Beispiel zeigt einige der Variationen lokalisierter Zahlenformate. Um das Format der Sprache zu erhalten, 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(new Intl.NumberFormat('en-GB').format(number));
// → 123.456,789
// Arabisch ist in den meisten arabisch sprachigen Ländern eingesetzt
console.log(new Intl.NumberFormat('ar-EG').format(number));
// → ١٢٣٤٥٦٫٧٨٩
// Indien benutzt Tausendertrennzeichen bei Tausend und allen weiteren <strong>zwei Stellen</strong>
console.log(new Intl.NumberFormat('en-IN').format(number));
// → 1,23,456.789
// Chinesisches Zahlensystem
console.log(new Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec').format(number));
// → 一二三,四五六.七八九
// Wenn eine Sprache übergeben werden soll, die vielleicht nicht
// unterstützt wird (Balinesisch), nutze eine fallback Sprache (Indonesisch)
console.log(new Intl.NumberFormat(['ban', 'id']).format(number));
// → 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(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number));
// → 123.456,79 €
// Der Japanische Yen hat keine Unterwährung (z. B. Cent)
console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(number));
// → ¥123,457
// Limitiert auf drei signifikante Stellen
console.log(new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(number));
// → 1,23,000
</pre>
<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('ES Int 1.0', '#sec-11.1', 'Intl.NumberFormat')}}</td>
<td>{{Spec2('ES Int 1.0')}}</td>
<td>Initiale Definition.</td>
</tr>
<tr>
<td>{{SpecName('ES Int 2.0', '#sec-11.1', 'Intl.NumberFormat')}}</td>
<td>{{Spec2('ES Int 2.0')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES Int Draft', '#numberformat-objects', 'Intl.NumberFormat')}}</td>
<td>{{Spec2('ES Int Draft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browserkompatibilität">Browserkompatibilität</h2>
<div>
<p>{{Compat("javascript.builtins.Intl.NumberFormat")}}</p>
</div>
<h2 id="Siehe_auch">Siehe auch</h2>
<p>{{page('/de/docs/Web/JavaScript/Reference/Global_Objects/Intl', 'Siehe auch')}}</p>
|