Abbreviate currency values in a configurable, locale-friendly way.
npm install abbreviate-currency



---
Abbreviate currency values in a configurable, locale-friendly way. No dependencies!
Example Usage:
``js
import { AbbreviateCurrency } from 'abbreviate-currency'
const value = 75300.55
const americanEnglishUsd = new AbbreviateCurrency({ language: 'en-US' })
const frenchCanadianEuros = new AbbreviateCurrency({ language: 'fr-CA', currency: 'EUR' })
americanEnglishUsd.transform(value) // -> '$75.3K'
frenchCanadianEuros.transform(value) // -> '75,3K €'
`
` bash`
$ npm install abbreviate-currency
#### defaultConfig
The default config object used to construct new instances. Changes made to defaultConfig will only affect instances
constructed after the change, and are not inherited by previously-constructed instances.
##### Config Object
| Property | Default | Description |
| :--- | :--- | :--- |
| language | navigator.language | BCP 47 language tag; e.g., 'en-US' |'USD'
| currency | | ISO 4217 currency code; e.g., EUR. |false
| useLowerCaseSymbols | | Determines if digit symbols should be capitalized or not. |
| digitGroups | See below. | Array of DigitGroups. |
###### DigitGroup
| Property | Description |
| :--- | :--- |
| symbol | String. Symbol to append to the value when abbreviated; e.g., 'K' is used to abbreviate 1,000 in "$1K". |4
| digits | Number. How many digit places for which this abbreviation should apply; e.g., 1,000 is digits. |
The default digitGroups array is as follows:
`js`
[
{ symbol: 'K', digits: 4 }, // 1,000+ (4 digits or more.)
{ symbol: 'M', digits: 7 }, // 1,000,000+ (7 digits or more.)
{ symbol: 'B', digits: 10 }, // 1,000,000,000+ (10 digits or more.)
{ symbol: 'T', digits: 13 } // 1,000,000,000,000+ (13 digits or more.)
]
Instances are immutable. Values shown below are the defaults.
Defaults can be overridden by modifying AbbreviateCurrency.defaultConfig.
Changes to the default config will not be inherited by any previous class instances, as they are immutable.
#### transform(value)
Takes a number or number-like string and abbreviates it.
en-US/USD Abbrevations:
``
0 => '$0'
0.001 => '$0'
0.005 => '$0.01'
1 => '$1'
9.01 => '$9.01'
10 => '$10'
10.5 => '$11'
1,000 => '$1K'
1,999 => '$1.9K'
19,999 => '$19.9K'
199,999 => '$199K'
199,999,999,999,999 => '$199T'
1,999,999,999,999,999 => '$1,999T'
#### config()`
Returns the configuration object used when constructing the AbbreviateCurrency instance.
I have not done much testing with non-Western locales, nor with any non-Hindu–Arabic numeral systems. If you'd like to
help out, please make an issue or a PR.