Format currency and units with locale in js with a breeze
Working with numbers, currency and other units can be a real pain itself. Then add locale to it the headache gets real.
There for when I found Int.Numberformat()
I totally fell in love ❤️
Currency
Say for example you have have a number, price, you want to present in locale specific way you have
to know specific formatting where to put space ,,
, .
or the currency symbol and so on.
Lets take a look at a price in EURO and we want to present if to our Swedish audience first
console.log(new Intl.NumberFormat('sv-SE', {style: 'currency', currency: 'EUR'}).format(123456.789))
// 123 456,79 €
Then want to present it to our friends in USA
console.log(new Intl.NumberFormat('en-US', {style: 'currency', currency: 'EUR'}).format(123456.789))
// €123,456.79
Amazing isn't it! It's just works.
Units
It's alls work with units too. For example liter
, kilometer-per-hours
and combine it with
unitDisplay: 'long'
and you will get in correct singular and plural.
console.log(
new Intl.NumberFormat('sv-SE', {
style: 'unit',
unit: 'kilometer-per-hour',
unitDisplay: 'long'
}).format(50)
)
// 50 kilometer per timme
Caveat
Safari don't have fully support for other units then currency
, decimal
and percent
both
desktop and iOS right now.
Is Safari starting to be the new IE?