1. 程式人生 > >JavaScript 千位分隔符(逗號)表示web網頁中的大數字

JavaScript 千位分隔符(逗號)表示web網頁中的大數字

千位分隔符(逗號)表示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 }