数字格式化为千分位

数字格式化为千分位.md

数字格式化为区域格式

实现

// 方式1
function numFormat1(num) {
  if (isNaN(num)) {
    return '0'
  }

  return parseFloat(num).toLocaleString()// 核心代码
}

// 方式2
function numFormat2(num) {
  if (isNaN(num)) {
    return '0'
  }

  return new Intl.NumberFormat().format(num)// 核心代码
}

// 方式3
function numFormat3(num){
  return num.toString().replace(/\d+/, function (n) {
    // 先提取整数部分
    return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
      return $1 + ",";
    });
  });
  return res;
}

var num = 123456789.123456789

numFormat1(num)
// -> 123,456,789.123
numFormat2(num)
// -> 123,456,789.123
numFormat3(num)
// -> 123,456,789.12345679

参考资料

1 Number.prototype.toLocaleString() MDN

2 Intl.NumberFormat MDN

3 JavaScript实现千位分隔符 April_Le 2017.03.30 22:18:41

posted @ 2024-03-27 11:30  不邪  阅读(20)  评论(0编辑  收藏  举报