Formateur de Nombres en Ligne — Séparateurs, Devise et Code Intl.NumberFormat
Collez un nombre et voyez instantanément comment il apparaît formaté en devise, décimal ou pourcentage pour n'importe quel locale dans le monde. Vous avez besoin d'ajouter des espaces insécables à un grand nombre, de formater un prix en euros, ou de générer le code JavaScript exact qui reproduit le résultat dans votre application ? Cet outil couvre les trois cas en un seul endroit.
Contrairement aux formateurs génériques qui ajoutent uniquement des séparateurs de milliers, cet outil exploite toute la puissance de l'API native Intl.NumberFormat du navigateur : choisissez le locale, la devise, le nombre minimal et maximal de décimales et le regroupement. L'extrait de code se met à jour en temps réel pour que vous puissiez le copier directement dans votre projet.
Comment utiliser le formateur de nombres
Formater un nombre prend quelques secondes :
- Entrez votre nombre dans la barre de Mode Rapide en haut — le résultat apparaît instantanément avec des séparateurs de milliers dans votre locale, transformant
1250500,75en1 250 500,75(fr-FR) ou1,250,500.75(en-US) au fil de la saisie. - Configurez le format dans le panneau de Configuration Technique — sélectionnez un locale, choisissez le style (monétaire, décimal ou pourcentage), le code de devise et le nombre de décimales. Le résultat se met à jour en direct.
- Copiez le résultat ou le code — cliquez sur "Copier le résultat" pour obtenir la chaîne formatée, ou sur "Copier le code" pour récupérer l'extrait
Intl.NumberFormatprêt à coller.
Exemples de formatage de nombres
Voici comment le même nombre apparaît dans différentes configurations :
| Nombre | Locale | Style | Sortie |
|---|---|---|---|
1250500,75 |
fr-FR | devise (EUR) | 1 250 500,75 € |
1250500,75 |
en-US | devise (USD) | $1,250,500.75 |
1250500,75 |
pt-BR | devise (BRL) | R$ 1.250.500,75 |
1250500,75 |
hi-IN | devise (INR) | ₹12,50,500.75 |
1250500,75 |
fr-CH | devise (CHF) | CHF 1'250'500.75 |
1250500 |
fr-FR | décimal | 1 250 500 |
0,45 |
fr-FR | pourcentage | 45 % |
La ligne Inde révèle une différence cruciale : ₹12,50,500.75 utilise des groupes de deux chiffres après les trois premiers, suivant le système lakh-crore d'Asie du Sud. Les formateurs conventionnels reproduisent rarement cela correctement. Le locale hi-IN le gère nativement via Intl.NumberFormat.
La France utilise l'espace insécable comme séparateur de milliers et la virgule comme séparateur décimal — un détail qui fait la différence sur les factures professionnelles.
Intl.NumberFormat — La norme JavaScript pour le formatage
Intl.NumberFormat est l'API JavaScript native pour le formatage de nombres avec prise en compte du locale. Tous les navigateurs modernes et Node.js la prennent en charge sans dépendances externes :
new Intl.NumberFormat('fr-FR', {
style: 'currency',
currency: 'EUR',
minimumFractionDigits: 2,
}).format(1250500.75);
// → "1 250 500,75 €"
Le constructeur prend une balise de langue BCP 47 (comme fr-FR, en-US ou hi-IN) et un objet d'options. La propriété style contrôle si le nombre est présenté comme une chaîne de devise, un décimal ou un pourcentage. useGrouping: false supprime tous les séparateurs — utile pour les charges utiles API.
Cas d'utilisation courants
- Affichage des prix en e-commerce : Formatez le même prix de la base de données pour chaque locale de la boutique —
12,99devient11,99 €,$12.99ouR$ 12,99selon le pays du client. - Tableaux de bord financiers : Affichez les valeurs de portefeuille, les chiffres d'affaires et les capitalisations boursières avec des séparateurs corrects.
- Ajouter des séparateurs à un nombre : Le cas d'utilisation le plus fréquent — la barre de Mode Rapide est conçue exactement pour cela.
- Factures et rapports : Générez des chaînes localisées pour des documents envoyés à des clients dans des pays différents.
- Apprentissage et prototypage : Testez différentes combinaisons d'options
Intl.NumberFormatavant de valider une configuration en production.
Foire aux questions
Comment ajouter des séparateurs de milliers à un nombre en JavaScript ?
Utilisez Intl.NumberFormat avec le style decimal et useGrouping: true (valeur par défaut) : new Intl.NumberFormat('fr-FR').format(1250500) retourne "1 250 500". Pour le locale américain, remplacez par 'en-US' — il utilise des virgules comme séparateurs de milliers et des points comme séparateurs décimaux. Cet outil génère l'extrait de code prêt à l'emploi pour toute configuration.
Que fait minimumFractionDigits dans Intl.NumberFormat ?
minimumFractionDigits fixe le nombre minimal de décimales affichées — le nombre formaté montrera toujours au moins ce nombre de chiffres après la virgule. Le définir à 2 garantit que 1250500 apparaît comme 1 250 500,00 € et non 1 250 500 €. maximumFractionDigits est le plafond. Quand les deux sont à 2, le nombre affiche toujours exactement deux décimales.
Intl.NumberFormat prend-il en charge le système indien lakh-crore ?
Oui. Le locale hi-IN implémente nativement le système de numération indien : groupes de deux chiffres après les trois premiers, produisant ₹12,50,500.75 pour 1 250 500,75. Aucune logique supplémentaire n'est nécessaire — cela fait partie du standard Unicode CLDR que les navigateurs implémentent.
Quelle est la différence entre le style pourcentage et la multiplication par 100 ?
Intl.NumberFormat avec style: 'percent' traite la valeur comme une fraction, pas comme un pourcentage — il multiplie en interne par 100. Passez 0.45 pour obtenir "45 %", pas 45. Si votre valeur est déjà un pourcentage (comme 45), divisez-la par 100 avant de formater : formatter.format(45 / 100).
Comment formater des nombres pour différents pays sans changer la devise ?
Utilisez le sélecteur de Locale dans la Configuration Technique pour remplacer le locale d'affichage indépendamment du code de devise. Par exemple, affichez un montant en EUR avec les conventions du locale en-US pour obtenir €1,250,500.75 au lieu de 1 250 500,75 €.
Ressources
- MDN — Intl.NumberFormat — Référence officielle avec toutes les options du constructeur et le tableau de compatibilité des navigateurs.
- Unicode CLDR — Formats de nombres — Les données que les navigateurs utilisent pour les séparateurs, symboles monétaires et le formatage régional.