以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - JavaScript 代码题
65. 添加千位分隔符

解答如下:

function addComma(num) {
  var str = num.toString(); // 先将数字转成字符串
  var reg = /^(-?\d+)(\d{3})/;
  
  while (reg.test(str)) { // 检测是否还有千位分隔符需要插入
    str = str.replace(reg, '$1,$2');
  }
  
  return str;
}

解析:

  1. 将传入的数字转换成字符串,方便后续操作;
  2. 定义正则表达式,用来匹配数字中的三位一组,同时保留负号;
  3. 通过 while 循环和 replace 方法来添加千位分隔符;
  4. 最后返回添加好千位分隔符的字符串。

注意点:

  1. 对于小数,直接调用 toString 会出问题,所以需要先将小数部分单独提取出来,在调用 toString;
  2. 可以使用 toLocaleString 方法来实现千位分隔符,但是该方法存在兼容性问题。