JS将数字转换成三位逗号分隔的样式(示例代码)



function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

console.log(numberWithCommas(1234567)); // 输出: "1,234,567"

这段代码定义了一个`numberWithCommas`函数,它接受一个数字`x`作为参数,并返回该数字转换为带有逗号分隔的字符串。这里使用了正则表达式和`String.replace`方法来实现这个功能。正则表达式`\B(?=(\d{3})+(?!\d))`查找的不是实际的字符,而是位置,具体来说,它查找的是不是单词边界(`\B`)且后面跟着至少三个数字(`\d{3}+`),但确保这些数字后面不是紧跟着其他数字(通过负向前瞻`(?!\d)`实现),这样就会在每三个数字之间插入一个逗号。