https://github.com/ggb/numeral-elm
Numeral.js port to Elm
https://github.com/ggb/numeral-elm
Last synced: 5 months ago
JSON representation
Numeral.js port to Elm
- Host: GitHub
- URL: https://github.com/ggb/numeral-elm
- Owner: ggb
- License: mit
- Created: 2016-03-29T16:21:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-05-31T08:35:38.000Z (about 3 years ago)
- Last Synced: 2026-01-26T14:10:52.448Z (6 months ago)
- Language: Elm
- Size: 43 KB
- Stars: 22
- Watchers: 2
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# numeral-elm
Elm module for (advanced) number formatting. It is a direct port of [Numeral.js](http://numeraljs.com/) 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.
# Formatting
Format a number with a given language.
```elm
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.
```elm
format "$0,0.00" 1000.234 == "$1,000.23"
```
## Numbers
| 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 |
## Currency
| 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 |
## Bytes
| Number | Format | Result |
|---------|---------|--------|
| 100 | '0b' | 100B |
| 2048 | '0 b' | 2 KB |
| 7884486213 | '0.0b' | 7.3GB |
| 3467479682787 | '0.000 b' | 3.154 TB |
## Percentages
| Number | Format | Result |
|---------|---------|--------|
| 1 | '0%' | 100% |
| 0.974878234 | '0.000%' | 97.488% |
| -0.43 | '0 %' | -43 % |
| 0.43 | '(0.000 %)' | 43.000 % |
## Time
| Number | Format | Result |
|---------|---------|--------|
| 25 | '00:00:00' | 0:00:25 |
| 238 | '00:00:00' | 0:03:58 |
| 63846 | '00:00:00' | 17:44:06 |
## Custom Unit Suffixes
| Number | Format | Result |
|---------|---------|--------|
| 12345 | 0,0[ pcs.] | 12,345 pcs. |
| 12345 | 0,0[pcs.] | 12,345pcs. |
| 300000 | 0,0 [ ponies] | 300,000 ponies |