UniFormat
A universal Javascript utility that helps you to display currency properly. This is a fork of Smirzaei's currency-formatter. The original library was created for node js and module bundlers only. This library is exported as UMD, which means you can use it in anyway you like. Since the original library was created a long time ago, this may still have few issues. Please feel free to log them.
Install
npm install uniformat --save
Basic Usage
By specifying the currency code
; currencyFormatter;// => '$1,000,000.00' currencyFormatter;// => '£1,000,000.00' currencyFormatter;// => '1 000 000,00 €'
Or by specifying the locale
; currencyFormatter;// => '$1,000,000.00' currencyFormatter;// => '£1,000,000.00' currencyFormatter;// => '£1,000,000.00' currencyFormatter;// => '1.000.000,00 €' currencyFormatter;// => '€1.000.000,00'
You can also get the currency information.
; currencyFormatter;// returns:// {// code: 'USD',// symbol: '$',// thousandsSeparator: ',',// decimalSeparator: '.',// symbolOnLeft: true,// spaceBetweenAmountAndSymbol: false,// decimalDigits: 2// }
Parse the number of a monetary value
currencyFormatter// => 10.5 currencyFormatter// => 1000000 currencyFormatter// => 10.5 currencyFormatter// => 1000000 currencyFormatter// => 1000.99 currencyFormatter// => 10000 currencyFormatter// => 10 currencyFormatter// => 1000
Advanced Usage
Currency Formatter uses accounting library under the hood, and you can use its options to override the default behavior.
import currencyFormatter from 'uniformat';currencyFormatter.format(1000000, { symbol: '@', decimal: '*', thousand: '^', precision: 1, format: '%v %s' // %s is the symbol and %v is the value}); // => '1^000^000*0 @' // Different formatting for positive and negative valuescurrencyFormatter.format(-10, { format: { pos: '%s%v' // %s is the symbol and %v is the value neg: '(%s%v)', zero: '%s%v' }}); // => ($10)
You could also get a list of all the currencies:
const currencies = currencyFormatter;