Elm module for (advanced) number formatting. It is a direct port of Numeral.js and it is possible to use the same format strings. Manipulation and unformatting of numbers is not yet supported.
If you create a new language-file, please let me know or send a pull request.
Format a number with a given language.
import Languages.Japanese as Japanese
myFormat = formatWithLanguage Japanese.lang "0.0a"
-- map myFormat [10123.12, 235798239.3242] == ["10.1千","235.8百万"]
The format-function works the same way as formatWithLanguage, but English is set as default language.
format "$0,0.00" 1000.234 == "$1,000.23"
| Number |
Format |
Result |
| 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 |
| 1 |
'0o' |
1st |
| 52 |
'0o' |
52nd |
| 23 |
'0o' |
23rd |
| 100 |
'0o' |
100th |
| Number |
Format |
Result |
| 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 |
| Number |
Format |
Result |
| 100 |
'0b' |
100B |
| 2048 |
'0 b' |
2 KB |
| 7884486213 |
'0.0b' |
7.3GB |
| 3467479682787 |
'0.000 b' |
3.154 TB |
| Number |
Format |
Result |
| 1 |
'0%' |
100% |
| 0.974878234 |
'0.000%' |
97.488% |
| -0.43 |
'0 %' |
-43 % |
| 0.43 |
'(0.000 %)' |
43.000 % |
| Number |
Format |
Result |
| 25 |
'00:00:00' |
0:00:25 |
| 238 |
'00:00:00' |
0:03:58 |
| 63846 |
'00:00:00' |
17:44:06 |
| Number |
Format |
Result |
| 12345 |
0,0[ pcs.] |
12,345 pcs. |
| 12345 |
0,0[pcs.] |
12,345pcs. |
| 300000 |
0,0 [ ponies] |
300,000 ponies |