BigInt.prototype.toLocaleString()

La méthode toLocaleString() renvoie une chaîne de caractères représentant le grand entier pour la ou les locale(s) indiquée(s).

Syntaxe

bigIntObj.toLocaleString([locales [, options]])

Paramètres

locales Facultatif
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 locales. Pour plus de détails quant à la forme et l'interprétation de l'argument locales, on consultera la page Intl.
options Facultatif
Un objet qui contient des propriétés de configuration. Pour les nombres, consulter Number.prototype.toLocaleString(), pour les dates, consulter Date.prototype.toLocaleString().

Valeur de retour

Une chaîne de caractères qui représente le grand entier selon la ou les locales et les options indiquées.

Exemples

Utiliser toLocaleString()

Voici un exemple d'utilisation simple, sans indiquer de locale ni d'options.

var bigint = 3500n;

bigint.toLocaleString();
// Affichera "3500" en français

Utiliser locales

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 locales pour indiquer la locale ciblée :

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 hindoux-arabes
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

Utiliser options

Ici, on personnalise le résultat fourni par toLocaleString() grâce à l'argument options :

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

Performance

Lorsqu'on souhaite mettre en forme une grande quantité de nombres, mieux vaudra créer un objet NumberFormat et utiliser la fonction fournie par sa propriété NumberFormat.format.

Spécifications

Spécification État
BigInt Proposition de niveau 3.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
toLocaleStringChrome Support complet 67Edge Aucun support NonFirefox Support complet 68IE Aucun support NonOpera Support complet 54Safari Aucun support NonWebView Android Support complet 67Chrome Android Support complet 67Firefox Android Support complet 68Opera Android Support complet 48Safari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Support complet 10.4.0
localesChrome Support complet 76Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 76Chrome Android Support complet 76Firefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
optionsChrome Support complet 76Edge Aucun support NonFirefox Aucun support NonIE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 76Chrome Android Support complet 76Firefox Android Aucun support NonOpera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Voir aussi