1.Intl.NumberFormat方法
const amount = 1234567.89
const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' })
console.log(formatter.format(amount)) // $1,234,567.89
const formatter = new Intl.NumberFormat("zh-Hans-CN", {
maximumFractionDigits:4
});
console.log(formatter.format(1888.12344));//输出1888.1234
console.log(formatter.format(1888.12344));//输出1888.1235
console.log(formatter.format(1888));//输出1888
2.正则表达式
const formatPrice = (price) => {
const regexp = new RegExp(`(?!^)(?=(\\d{3})+${price.includes('.') ? '\\.' : '$'})`, 'g')
return price.replace(regexp, ',')
}
formatPrice('123') // 123
formatPrice('1234') // 1,234
formatPrice('123456') // 123,456
formatPrice('123456789') // 123,456,789
formatPrice('123456789.123') // 123,456,789.123