数字格式化插件Numeral.js

需要格式化文件大小,发现这个好用的东西,numeral.js

首先当然是要引入它

<script src="numeral.min.js"></script>

然后就可以格式化了

var string = numeral(1000).format('0,0');
// '1,000'

数字的格式化

Number          Format          String
10000           '0,0.0000'      10,000.0000
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          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

字节的格式化

Number          Format          String
100             '0b'            100B
2048            '0 b'           2 KB
4194304         '0.0b'          2 MB
7884486213      '0.00b'         7.3GB
3467479682787   '0.000 b'       3.154 TB

百分比

Number          Format          String
1               '0%'            100%
0.974878234     '0.000%'        97.488%
-0.43           '0 %'           -43 %
0.43            '(0.000 %)'     43.000 %

时间

Number          Format          String
25              '00:00:00'      0:00:25
238             '00:00:00'      0:03:58
63846           '00:00:00'      17:44:06

还可以反格式化

var string = numeral().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

还支持运算

var number = numeral(1000);

var added = number.add(10);
// 1010
Before          Function            After
1000            .add(100)           1100
1100            .subtract(100)      1000
1000            .multiply(100)      100000
100000          .divide(100)        1000

提供的方法:value 等等…

var number = numeral(1000);

var string = number.format('0,0');
// '1,000'

var value = number.value();
// 1000

最重要的是还支持中文