A wrapper around Number.prototype.toLocaleString
.
The purpose is to provide a unified API for formatting currency amounts regardless of browser support and whether the currency is known or not.
// modern browser
format('da-DK', { currency: 'DKK', major: 1500.5 });
// 1.500,50 kr.
// legacy browser
format('da-DK', { currency: 'DKK', major: 1500.5 });
// DKK 1500.50
format({
locales: [ 'da-DK', 'en-GB' ],
display: 'code',
currency: 'GBP',
}, 100.2);
// 100,20 GBP
format([ opts|locale,] amount|{ currency, major });
Options are:
currency
(three letter ISO)locale
(e.g.da-DK
or simplyda
)locales
(an array of prioritized locales, left to right)display
(one ofsymbol
(default),code
orname
)matcher
(best fit
(default) orlookup
)grouping
(whether to use thousand separators, detaults totrue
)minimumFractionDigits
(used only if localization is not supported, defaults to2
)
$ format-amount --currency USD 124422 --locale en-US
USD 1,244.22