JavaScript 格式化金额

87 阅读1分钟

使用 Number.prototype.toLocaleString 方法

const amount = 3214234.4535;
const formattedAmount = amount.toLocaleString('zh-CN', {
  currency: 'CNY',
  minimumFractionDigits: 2,
  maximumFractionDigits: 2,
});
console.log(formattedAmount);

使用 Intl.NumberFormat 构造函数

const amount = 3422.435;
const locale = 'en-US';
const options = {
  currency: 'USD',
};
const formattedAmount = new Intl.NumberFormat(locale, options).format(amount);
console.log(formattedAmount);

使用正则表达式

const amount = 3422.435;
const formattedAmount = (amount ?? '').toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','))
console.log(formattedAmount);