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
漫思