format-currency

1.0.0 • Public • Published

format-currency

NPM Package Build Status js-standard-style

format-currency is a JavaScript component to format numbers and strings to currency strings. Used in Exodus Ethereum Wallet.

Install

npm install --save format-currency

Notes

  • Must have a JavaScript environment with Object.assign and Intl.NumberFormat. In Node.js, this is at least v4. You can install in older environments, you'll just need to polyfill.

Usage

formatCurrency

Signature: formatCurrency(value, [options])

Parameters:

  • value: Value to convert. Will pass through parse-num first. Will coerce anything to a number.
  • options: optional object parameter to specify options. Appending Digits is not necessary. You can also shorten maximum to max and minimum to min. Adds one more option nanZero, which when the number is NaN, if it should be coerced to 0 - defaults to true i.e. NaN => '0'. Also available code, symbol, format.

Returns:

A string currency representation of the number.

Example:

const formatCurrency = require('format-currency')
 
// default, no currency symbol or code
console.log(formatCurrency(10000000.15)) // => 10,000,000.15
 
// include the currency code 'USD'
let opts = { format: '%v %c', code: 'USD' }
console.log(formatCurrency(10000000.15, opts)) // => 10,000,000.15 USD
 
// now include the currency symbol
let opts = { format: '%s%v %c', code: 'USD', symbol: '$' }
console.log(formatCurrency(10000000.15, opts)) // => $10,000,000.15 USD
 
// use to reformat currency strings
let opts = { format: '%s%v', symbol: '$' }
console.log(formatCurrency('$10,000,000.15 USD', opts)) // => $10,000,000.15
 
// change locale
let opts = { format: '%s%v', symbol: '$', locale: 'de-DE' }
// in Node.js (English only, unless you compiled with other language support)
console.log(formatCurrency(10000000.15, opts)) // => $10,000,000.15
// in Electron (renderer) or browser (supports all locales)
console.log(formatCurrency(10000000.15, opts)) // => $10.000.000,15
 
// crypto currency (Bitcoin, Ethereum)
let opts = { format: '%v %c', code: 'BTC', maxFraction: 8 }
console.log(formatCurrency(1.123456789, opts)) // => 1.12345678 (notice only 8)

Related

  • format-num: Format numbers / number strings to nice strings with grouping and decimal separators.
  • number-unit: Numbers with units. Easily convert numbers to from different units.
  • parse-num: Parse anything into a number. A dependency of this library.

License

MIT

Package Sidebar

Install

npm i format-currency

Weekly Downloads

7,844

Version

1.0.0

License

MIT

Last publish

Collaborators

  • jprichardson