写代码(1)

如何将浮点数点左边的数每三位添加一个逗号,如 12000000.11 转化为『12, 000, 000.11』?

function addD(num) {
  const arr = (num + "").split(".");
  const target = arr[0].split("");
  let p = target.length - 1;
  const len = target.length;
  while (p > 0) {
    if ((len - p) % 3 === 0) {
      target.splice(p, 0, ",");
      p--;
    }
    p--;
  }
  return target.concat(["."], arr[1]).join("");
}
// 方法一
function format(number) {
    return number && number.replace(/(?!^)(?=(\d{3})+\.)/g, ",");
}
// 方法二
function format1(number) {
    return Intl.NumberFormat().format(number)
}
// 方法三
function format2(number) {
    return number.toLocaleString('en')
}