Numeral.js实现千分位、补零、序数词缩写等

Numeral.js是一个用于格式化和数字运算的js,可将数字格式化为货币、百分比、时间,甚至是序数词的缩写(比如1st,100th)。

如何引入

标签引入

<script src="https://cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>

NPM安装

npm install numeral -S

脚手架中导入

var numeral = require('numeral');
//或
import numeral from 'numeral'

创建实例

Numeral接受可以尝试转化为数字的参数,参数可以是数字或者字符串。

var myNumeral = numeral(1000);//参数为数字

var value = myNumeral.value();//结果为 1000

var myNumeral2 = numeral('1,000');//参数为千分位的字符串

var value2 = myNumeral2.value();//转化的结果为 1000

金额千分位

在某些场景,尤其是金额的显示(比如支付宝),常常使用的是千分位的表示方式。

numeral(1234).format('0,0');// 1,234 不带小数
numeral(1234).format('0,0.00');// 1,234.00 保留两位小数

高位补零

运动员选手的号码常常是固定的几位数,数字较小时,高位会补零,比如0001号。

numeral(1).format('0000');// 0001

序数词缩写

例如1st、2nd 、10th

numeral(1).format('0o');// 1st
numeral(2).format('0o');// 2nd
numeral(10).format('0o');// 10th

百分比

遵循四舍五入规则,小数转换为百分比,同时避免了浮点运算精度的问题。

numeral(0.144252).format('0.00%');// 14.43% 小数点四舍五入
如果直接将0.144252乘以100,会得到14.425199999999998

时间

将秒数以时分秒的方式显示

numeral(238).format('00:00:00');// 0:03:58

科学计数法

将多位数字以科学计数法方式表示

numeral(1123456789).format('0.0e+0');// 1.1e+9
numeral(0.000134255).format('0.0e+0');// 1.3e-4

posted on 2021-11-01 15:55  漫思  阅读(1114)  评论(0编辑  收藏  举报

导航