FrostNumberFormatter is a free, open-source number formatting library for JavaScript.
It is a tiny (~1kb gzipped) and modern library, extending the native Intl.NumberFormat class, with additional capabilities for parsing formatted number strings into numbers.
In Browser
<script type="text/javascript" src="/path/to/frost-numberformatter.min.js"></script>
Using NPM
npm i @fr0st/numberformatter
In Node.js:
import NumberFormatter from '@fr0st/numberformatter';
As the class internally utilizes the native Intl.NumberFormat class, usage is very straightforward.
locale
is a string with a BCP 47 language tag, or an array of such strings, and will default to the system locale.options
is an object containing options for formatting.
For a full list of supported options, see the Intl.NumberFormat documentation.
const formatter = new NumberFormatter(locale, options);
Return a formatted number string, using the locale and formatting options.
number
is the number you wish to format.
const numberString = formatter.format(number);
Format To Parts
Return an array of objects, containing the formatted number string in parts.
number
is the number you wish to format.
const numberParts = formatter.formatToParts(number);
Return a parsed number from a formatted number string.
numberString
is the string you wish to parse.
const number = formatter.parse(numberString);