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