带小数数字三个为单位,以逗号分开:
console.log(numberWithCommas(12345678912.1234)) 12,345,678,912.1234
function numberWithCommas(n) {
// 正则解释: 匹配到 \B(非单词边界)后, 后面要匹配到 (\d{3})+(?!\d)
// (\d{3})+ 至少匹配到一次或多次三个数字
// (?!\d) 同时后面不是数字的话, 就匹配.

// 注意, 后面的(?=)那一段代码只是判断的规则, 匹配到后只替换掉\B
// 而\B 元字符匹配的是非单词边界

let num = n.toString().split('.');
num[0] = num[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return num.join('.');
}