Old Format (v1)
Old string-based format kept for backward compatibility
Format
Numbers can be formatted to look like currency, percentages, times, or even plain old numbers with decimal places, thousands, and abbreviations.
Numbers
Number | Format | String |
---|---|---|
10000 | '0,0.0000' | |
10000.23 | '0,0' | |
10000.23 | '+0,0' | |
-10000 | '0,0.0' | |
10000.1234 | '0.000' | |
10000.1234 | '0[.]00000' | |
-10000 | '(0,0.0000)' | |
-0.23 | '.00' | |
-0.23 | '(.00)' | |
0.23 | '0.00000' | |
0.23 | '0.0[0000]' | |
1230974 | '0.0a' | |
1460 | '0 a' | |
-104000 | '0a' | |
233434 | '0a.00' | |
233000 | '0a.00' | |
1 | '0o' | |
52 | '0o' | |
23 | '0o' | |
100 | '0o' |
Average
numbro provides an easy mechanism to round up any number with the special formatting character a
.
Note that the delimiters are per language.
Number | Format | String |
---|---|---|
123 | '0a' | |
1234 | '0a' | |
12345 | '0a' | |
123456 | '0a' | |
1234567 | '0a' | |
12345678 | '0a' | |
123456789 | '0a' |
In addition to this, when numbers are rounded up, one can specify the precision wanted with a format like 3a
(for 3 numbers only).
In this case, 0
is used for "automatic" mode.
Number | Format | String |
---|---|---|
1234567891 | '0a' | |
1234567891 | '1a' | |
1234567891 | '2a' | |
1234567891 | '3a' | |
1234567891 | '4a' | |
1234567891 | '5a' | |
1234567891 | '6a' | |
1234567891 | '7a' | |
1234567891 | '8a' | |
1234567891 | '9a' | |
1234567891 | '10a' |
Currency
numbro supports cultural currency formatting via the function formatCurrency
.
Number | Language | String |
---|---|---|
1000.234 | en-US | |
1000.234 | fr-FR | |
1000.234 | ja-JP | |
1000.234 | ru-RU |
You can of course precise a more specific format, as long as you do not use the $
(that would override defaults).
Number | Language | String |
---|---|---|
1000.234 | en-US | |
1000.234 | fr-FR | |
1000.234 | ja-JP | |
1000.234 | ru-RU |
But if you want to, you can always precise a format by hand to override the languages defaults.
Number | Format | String |
---|---|---|
1000.234 | '$0,0.00' | |
1000.2 | '0,0[.]00 $' | |
1001 | '$ 0,0[.]00' | |
-1000.234 | '($0,0)' | |
-1000.234 | '$0.00' | |
1230974 | '($ 0.00 a)' |
Bytes
Number | Format | String |
---|---|---|
100 | '0b' | |
2048 | '0 b' | |
7884486213 | '0.0b' | |
3467479682787 | '0.000 b' |
Percentages
Number | Format | String |
---|---|---|
1 | '0%' | |
0.974878234 | '0.000%' | |
-0.43 | '0 %' | |
0.43 | '(0.000 %)' |
Time
Number | Format | String |
---|---|---|
25 | '00:00:00' | |
238 | '00:00:00' | |
63846 | '00:00:00' |
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.
String | Function | Number |
---|---|---|
'10,000.123' | .unformat('10,000.123') | |
'0.12345' | .unformat('0.12345') | |
'1.23m' | .unformat('1.23m') | |
'23rd' | .unformat('23rd') | |
'$10,000.00' | .unformat('$10,000.00') | |
'100B' | .unformat('100B') | |
'3.154TB' | .unformat('3.154TB') | |
'-76%' | .unformat('-76%') | |
'2:23:57' | .unformat('2:23:57') |
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'
.
Default zero
Set a custom output when formatting numbers with a value of 0
.