以下为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;}
解析:
- 将传入的数字转换成字符串,方便后续操作;
- 定义正则表达式,用来匹配数字中的三位一组,同时保留负号;
- 通过 while 循环和 replace 方法来添加千位分隔符;
- 最后返回添加好千位分隔符的字符串。
注意点:
- 对于小数,直接调用 toString 会出问题,所以需要先将小数部分单独提取出来,在调用 toString;
- 可以使用 toLocaleString 方法来实现千位分隔符,但是该方法存在兼容性问题。