Bootstrap

数字标准化为x,xxx,xxx的方法

简单提供一个传入任意数字转为x,xxx,xxx的方法

function numberFormate(num) { // 数字格式化为x,xxx,xxx,xxx
      num = parseFloat(num);
      if (!Number.isNaN(num)) {
        let str = Math.abs(num).toString().split('.');
        const a = Math.ceil(str[0].length / 3);
        str[0] = str[0].padStart(a * 3, '0');
        const numArr = [];
        for (let i = 0; i < a; i++) {
          numArr.push(str[0].substring(i * 3, (i + 1) * 3));
        }
        numArr[0] = parseInt(numArr[0]);
        const formateStr = numArr.join(',') + (str[1] ? '.' + str[1] : '');
        return num < 0 ? "-" + formateStr : formateStr;
      } else {
        throw new TypeError("传入的参数必须是数字");
      }
    }

使用

numberFormate('-1123456789'); // 结果为-1,123,456,789
numberFormate(1123456789.2234); // 结果为1,123,456,789.2234
numberFormate('1123456789.2234.5567'); // 结果为1,123,456,789.2234
numberFormate('qw1123456789.2234.5567'); // 传入的值转成数字后变成NaN的会抛出类型错误

;