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 |