JavaScript et le i18n: toLocaleString
La méthode suivante "toLocaleString" est plutôt bien supportée:
Cette méthode plutôt méconnue est présente sur un grand nombre d'objet JavaScript:
Cette méthode permet tout simplement de faire un formattage en fonction de l'internalisation. Cela est d'autant plus pratique sur les dates et les nombres.
Voici un petit exemple sur ce jsfiddle: https://jsfiddle.net/aozxLa8d/7/
Où nous avons tapé:
const price = 100.42; const currencies = [ { 'locale': 'en-US', 'currency': 'USD' }, { 'locale': 'de-DE', 'currency': 'EUR' }, { 'locale': 'ja-JP', 'currency': 'YEN' }, { 'locale': 'zh-Hans-CN', 'currency': 'CNY' } ]; currencies.forEach(({ locale, currency }) => { let element = document.getElementById(currency.toLowerCase()); let localeConf = { 'style': 'currency', currency }; element.innerText = price.toLocaleString(locale, localeConf); });
Et du coup nous obtenons en sortie:
$100.42
100,42 €
YEN100.42
¥100.42
Nous pouvons bien sûr personnalisée les options, notamment affiché ou non la devise. Et cela est vraiment bien pratique.
Vous avez ce jsfiddle pour de plus ample exemple (attention, la locale est en anglais, donc forcément, le symbole de la device risque de ne pas être au bon endroit): https://jsfiddle.net/rochejul/1tud35uw/
Commentaires
Enregistrer un commentaire