Format
How to format numbers, currencies, etc, and unformat them.
Format
Numbers can be formatted to look like currency, percentages, times, or even plain old numbers with decimal places, thousands, and abbreviations.
var string = numbro(1000).format('0,0');
// '1,000'
Numbers
Number | Format | String |
---|---|---|
10000 | '0,0.0000' | 10,000.0000 |
10000.23 | '0,0' | 10,000 |
10000.23 | '+0,0' | +10,000 |
-10000 | '0,0.0' | -10,000.0 |
10000.1234 | '0.000' | 10000.123 |
10000.1234 | '0[.]00000' | 10000.12340 |
-10000 | '(0,0.0000)' | (10,000.0000) |
-0.23 | '.00' | -.23 |
-0.23 | '(.00)' | (.23) |
0.23 | '0.00000' | 0.23000 |
0.23 | '0.0[0000]' | 0.23 |
1230974 | '0.0a' | 1.2m |
1460 | '0 a' | 1 k |
-104000 | '0a' | -104k |
233434 | '0a.00' | 233.43k |
233000 | '0a.00' | 233.00k |
1 | '0o' | 1st |
52 | '0o' | 52nd |
23 | '0o' | 23rd |
100 | '0o' | 100th |
Currency
Number | Format | String |
---|---|---|
1000.234 | '$0,0.00' | $1,000.23 |
1000.2 | '0,0[.]00 $' | 1,000.20 $ |
1001 | '$ 0,0[.]00' | $ 1,001 |
-1000.234 | '($0,0)' | ($1,000) |
-1000.234 | '$0.00' | -$1000.23 |
1230974 | '($ 0.00 a)' | $ 1.23 m |
Bytes
Number | Format | String |
---|---|---|
100 | '0b' | 100B |
2048 | '0 b' | 2 KB |
7884486213 | '0.0b' | 7.3GB |
3467479682787 | '0.000 b' | 3.154 TB |
Percentages
Number | Format | String |
---|---|---|
1 | '0%' | 100% |
0.974878234 | '0.000%' | 97.488% |
-0.43 | '0 %' | -43 % |
0.43 | '(0.000 %)' | 43.000 % |
Time
Number | Format | String |
---|---|---|
25 | '00:00:00' | 0:00:25 |
238 | '00:00:00' | 0:03:58 |
63846 | '00:00:00' | 17:44:06 |
If you want to format time more than that, we recommend you Momentjs which inspired numbro.
Unformat
Got a formatted string? Use the unformat
function to make it useful again.
var string = numbro().unformat('($10,000.00)');
// -10000
String | Function | Number |
---|---|---|
'10,000.123' | .unformat('10,000.123') | 10000.123 |
'0.12345' | .unformat('0.12345') | 0.12345 |
'1.23m' | .unformat('1.23m') | 1230000 |
'23rd' | .unformat('23rd') | 23 |
'$10,000.00' | .unformat('$10,000.00') | 10000 |
'100B' | .unformat('100B') | 100 |
'3.154TB' | .unformat('3.154TB') | 3467859674006 |
'-76%' | .unformat('-76%') | -0.76 |
'2:23:57' | .unformat('2:23:57') | 8637 |
Defaults
numbro allows you to the default format to use, as well as how to format 0.
Default format
Set a default format so you can use .format()
without a string. The default format to '0,0'
.
var number = numeral(1000);
number.format();
// '1,000'
numeral.defaultFormat('$0,0.00');
number.format();
// '$1,000.00'
Default zero
Set a custom output when formatting numerals with a value of 0
.
var number = numeral(0);
numeral.zeroFormat('N/A');
var zero = number.format('0.0')
// 'N/A'