Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Intl.NumberFormat
Baseline Widely available *
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2017.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
L'objetIntl.NumberFormat permet de formater des nombres en fonction de la locale.
Dans cet article
Exemple interactif
const number = 123456.789;console.log( new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format( number, ),);// Expected output: "123.456,79 €"// The Japanese yen doesn't use a minor unitconsole.log( new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format( number, ),);// Expected output: "¥123,457"// Limit to three significant digitsconsole.log( new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format( number, ),);// Expected output: "1,23,000"Constructeur
Intl.NumberFormat()Crée un nouvel objet
NumberFormat.
Méthodes statiques
Intl.NumberFormat.supportedLocalesOf()Renvoie un tableau qui contient les locales, parmi celles fournies en arguments, qui sont prises en charge sans avoir à recourir à la locale par défaut de l'environnement d'exécution.
Méthodes des instances
Intl.NumberFormat.prototype.format()Un accesseur qui formate un nombre en fonction des options de locale et de formatage fournies par l'objet
Intl.NumberFormatcourant.Intl.NumberFormat.prototype.formatToParts()Renvoie untableau d'objets représentant les fragments de la chaîne de caractères représentant le nombre et qui peuvent être utilisés pour un formatage spécifique en fonction de la locale.
Intl.NumberFormat.prototype.formatRange()Un accesseur qui formate un intervalle de nombres en fonction des options de locale et de formatage fournies par l'objet
Intl.NumberFormatcourant.Intl.NumberFormat.prototype.formatRangeToParts()Renvoie untableau d'objets représentant les fragments de la chaîne de caractères représentant l'intervalle numérique et qui peuvent être utilisés pour un formatage spécifique en fonction de la locale.
Intl.NumberFormat.prototype.resolvedOptions()Renvoie un nouvel objet dont les propriétés reflètent les options de locale et de collation calculées à l'initialisation de l'objet.
Exemples
>Utilisation simple
Sans indiquer de locale ou d'options, le résultat sera une chaîne de caractères avec la locale et les options par défaut :
var nombre = 3500;console.log(new Intl.NumberFormat().format(nombre));// → "3 500" pour la locale frUtiliserlocales
Cet exemple illustre les variations possibles des formats numériques localisés. Si vous souhaitez que votre application utilise le format de la locale de l'utilisateur, assurez vous de l'indiquer via l'argumentlocales (voire avec d'autres locales de secours) :
var nombre = 123456.789;// L'allemand utilise la virgule comme séparateur décimal// et un point pour indiquer les milliersconsole.log(new Intl.NumberFormat("de-DE").format(nombre));// → 123.456,789// Dans la plupart des pays arabophones, on utilise les// chiffres arabo-hindîsconsole.log(new Intl.NumberFormat("ar-EG").format(nombre));// → ١٢٣٤٥٦٫٧٨٩// L'indien utilise des séparateurs pour les milliers,//les lakhs et les croresconsole.log(new Intl.NumberFormat("en-IN").format(nombre));// → 1,23,456.789// La clé d'extension nu indique une l'utilisation d'un système numérique// par exemple le système chinoisconsole.log(new Intl.NumberFormat("zh-Hans-CN-u-nu-hanidec").format(nombre));// → 一二三,四五六.七八九// Lorsqu'une locale n'est pas supportée (par exemple le balinais)// on peut inclure une locale de secours (ici l'indonésien)console.log(new Intl.NumberFormat(["ban", "id"]).format(nombre));// → 123.456,789Utiliseroptions
Les résultats fournis peuvent être paramétrés grâce à l'argumentoptions :
var nombre = 123456.789;// on affiche une devise avec le style "currency"console.log( new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR" }).format( nombre, ),);// → 123.456,79 €// Le yen japonais n'a pas de centimesconsole.log( new Intl.NumberFormat("ja-JP", { style: "currency", currency: "JPY" }).format( nombre, ),);// → ¥123,457// On se limite ici à trois chiffres significatifsconsole.log( new Intl.NumberFormat("en-IN", { maximumSignificantDigits: 3 }).format( nombre, ),);// → 1,23,000Utiliser les optionsstyle etunit
console.log( new Intl.NumberFormat("pt-PT", { style: "unit", unit: "kilometer-per-hour", }).format(50),);// → 50 km/hconsole.log( (16).toLocaleString("en-GB", { style: "unit", unit: "liter", unitDisplay: "long", }),);// → 16 litresSpécifications
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # numberformat-objects> |