1. 程式人生 > 其它 >Numeral.js實現千分位、補零、序數詞縮寫等

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