如12000000.11转化为12,000,000.11。
function change(num) {
return num && num
.toString()
.replace(/(\d)(?=(\d{3})+\.)/g, function($1, $2) {
return $2 + ',';
});
}
/(\d)(?=(\d{3})+\.)/g
代表的意思:
推荐正则在线验证网站:regexper补充相关案例:
方法一
function formatNumber(str) {
let arr=[],
count=str.length
while (count >=3) {
arr.unshift(str.slice(count - 3, count))
count -=3
}
// 如果是不是3的倍数就另外追加到上去
str.length % 3 && arr.unshift(str.slice(0, str.length % 3))
return arr.toString()
}
console.log(formatNumber("1234567890")) // 1,234,567,890
方法二:
function formatNumber(str) {
// ["0", "9", "8", "7", "6", "5", "4", "3", "2", "1"]
return str.split("").reverse()uce((prev, next, index)=> {
return ((index % 3) ? next : (next + ',')) + prev
})
}
console.log(formatNumber("1234567890")) // 1,234,567,890
方法三:
function formatNumber(str) {
return str.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
}
console.log(formatNumber("123456789"))
方法千千万,正则表达式最简单。
联系客服