JavaScript 千位分隔符(逗號)表示web網頁中的大數字
阿新 • • 發佈:2019-01-09
千位分隔符(逗號)表示web網頁中的大數字
1. 方法一:使用toLocaleString()方法
Number.toLocaleString('en-US');
//舉例
(123456789).toLocaleString('en-US');//123,456,789
另外,對於IE edge之前的版本,Number.toLocaleString()會自動補上兩位小數,如果是不需要的,需要自己額外過濾掉。
2. 方法二:使用正則表示式的方式
語法如下:
String(Number).replace(/(\d)(?=(\d{3})+$)/g, "$1,");
//舉例
String (123456789).replace(/(\d)(?=(\d{3})+$)/g, "$1,"); //123,456,789
封裝成一個方法
/**
* 將數值四捨五入(保留2位小數)後格式化成金額形式
*
* @param num 數值(Number或者String)
* @return 金額格式的字串,如'1,234,567.45'
* @type String
*/
function price(val) {
if (!val) return 0.0
let USPrice = Number.parseFloat(val).toLocaleString('en-US')
let lastDot = USPrice.toString().indexOf('.')
// 完全是整數, 需要新增小數點
if (lastDot === -1) USPrice += '.00'
// 返回資料是一位小數,用0補齊為兩位小數
if (USPrice.toString().substring(lastDot + 1).length === 1) USPrice += '0'
return '¥' + USPrice
}