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
|
---
title: BigInt.prototype.toLocaleString()
slug: Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString
tags:
- BigInt
- Internationalisation
- Intl
- JavaScript
- Méthode
- Prototype
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/BigInt/toLocaleString
original_slug: Web/JavaScript/Reference/Objets_globaux/BigInt/toLocaleString
---
<div>{{JSRef}}</div>
<p>La méthode <strong><code>toLocaleString()</code></strong> renvoie une chaîne de caractères représentant le grand entier pour la ou les locale(s) indiquée(s).</p>
<div>{{EmbedInteractiveExample("pages/js/bigint-tolocalestring.html")}}</div>
<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuer à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox"><code><em>bigIntObj</em>.toLocaleString(</code><code>[locales [, options]])</code></pre>
<h3 id="Paramètres">Paramètres</h3>
<dl>
<dt><code>locales</code> {{optional_inline}}</dt>
<dd>Une chaine de caractères avec un identifiant de langue BCP 47, ou un tableau de ce type de chaine de caractères. Pour le format général et l'interprétation de l'argument <code>locales</code>. Pour plus de détails quant à la forme et l'interprétation de l'argument <code>locales</code>, on consultera la page {{jsxref("Intl")}}.</dd>
<dt><code>options</code> {{optional_inline}}</dt>
<dd>Un objet qui contient des propriétés de configuration. Pour les nombres, consulter {{jsxref("Number.prototype.toLocaleString()")}}, pour les dates, consulter {{jsxref("Date.prototype.toLocaleString()")}}.</dd>
</dl>
<h3 id="Valeur_de_retour">Valeur de retour</h3>
<p>Une chaîne de caractères qui représente le grand entier selon la ou les locales et les options indiquées.</p>
<h2 id="Exemples">Exemples</h2>
<h3 id="Utiliser_toLocaleString()">Utiliser <code>toLocaleString()</code></h3>
<p>Voici un exemple d'utilisation simple, sans indiquer de locale ni d'options.</p>
<pre class="brush: js">var bigint = 3500n;
bigint.toLocaleString();
// Affichera "3500" en français
</pre>
<h3 id="Utiliser_locales">Utiliser <code>locales</code></h3>
<p>Cet exemple illustre certaines variations pour la représentation d'une même valeur en fonction des différentes locales. En fonction de la langue utilisée par l'utilisateur et par votre interface, vous pourrez utiliser <code>locales</code> pour indiquer la locale ciblée :</p>
<pre class="brush: js">var bigint = 123456789123456789n;
// En allemand, on utilise les points pour séparer
// les milliers
console.log(bigint.toLocaleString('de-DE'));
// → 123.456.789.123.456.789
// La plupart des pays arabes utilise
// des chiffres <a href="https://en.wikipedia.org/wiki/Eastern_Arabic_numerals">hindoux-arabes</a>
console.log(bigint.toLocaleString('ar-EG'));
// → ١٢٣٬٤٥٦٬٧٨٩٬١٢٣٬٤٥٦٬٧٨٩
// India utilise des séparateurs pour
// les milliers/lakh/crore
console.log(bigint.toLocaleString('en-IN'));
// → 1,23,45,67,89,12,34,56,789
// La clé d'extension requiert un système de numérotation
// par exemple, le système décimal chinois
console.log(bigint.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
// → 一二三,四五六,七八九,一二三,四五六,七八九
// Lorsqu'on demande une langue qui peut ne pas être prise
// en charge (ici le balinais), on peut ajouter une autre
// locale qui sera utilisée en recours (ici l'indonésien)
console.log(bigint.toLocaleString(['ban', 'id']));
// → 123.456.789.123.456.789
</pre>
<h3 id="Utiliser_options">Utiliser <code>options</code></h3>
<p>Ici, on personnalise le résultat fourni par <code>toLocaleString()</code> grâce à l'argument <code>options</code> :</p>
<pre class="brush: js">var bigint = 123456789123456789n;
// On utilise un format avec une devise
console.log(bigint.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
// → 123.456.789.123.456.789,00 €
// Le yen japonais n'utilise pas de sous-unité
console.log(bigint.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
// → ¥123,456,789,123,456,789
// On limite l'écriture aux trois premiers chiffres significatifs
console.log(bigint.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
// → 1,23,00,00,00,00,00,00,000
</pre>
<h2 id="Performance">Performance</h2>
<p>Lorsqu'on souhaite mettre en forme une grande quantité de nombres, mieux vaudra créer un objet {{jsxref("NumberFormat")}} et utiliser la fonction fournie par sa propriété {{jsxref("NumberFormat.format")}}.</p>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spécification</th>
<th scope="col">État</th>
</tr>
<tr>
<td><code><a href="https://tc39.es/ecma402/#sup-bigint.prototype.tolocalestring">BigInt</a></code></td>
<td>Proposition de niveau 3.</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{Compat("javascript.builtins.BigInt.toLocaleString")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li>{{jsxref("BigInt.toString()")}}</li>
</ul>
|