JavaScript 格式化金额
JavaScript 格式化金额
一、使用 Intl.NumberFormat
构造函数
这是 JavaScript 中格式化金额的最常见方法。Intl.NumberFormat()
构造函数接受两个参数:语言环境和选项。语言环境是为其格式化金额的语言和地区。选项是一组控制金额格式的属性。例如,可以使用样式属性来指定货币的格式,使用货币属性来指定要将金额格式化为的货币。
const amount = 1234567.89; const locale = "en-US"; const options = { style: "currency", currency: "USD", }; const formattedAmount = new Intl.NumberFormat(locale, options).format(amount); console.log(formattedAmount); // $1,234,567.89
二、使用 Number.prototype.toLocaleString
方法
要格式化金额,可以使用 JavaScript 的 toLocaleString()
方法。该方法可以将数字转换为本地化的字符串表示形式,并可以指定货币符号、小数点和千位分隔符等格式。
代码如下:
-
美元
const amount = 1234567.89; const formattedAmount = amount.toLocaleString("en-US", { style: "currency", currency: "USD", minimumFractionDigits: 2, maximumFractionDigits: 2, }); console.log(formattedAmount); // $1,234,567.89 -
人民币
const amount = 1234567.89; const formattedAmount = amount.toLocaleString("zh-CN", { style: "currency", currency: "CNY", minimumFractionDigits: 2, maximumFractionDigits: 2, }); console.log(formattedAmount); // ¥1,234,567.89
在这个示例中,将数字变量 amount
使用 toLocaleString()
方法转换为本地化的字符串表示形式,并指定了以下格式:
style: 'currency'
表示使用货币格式显示金额。currency: 'USD'
表示使用美元符号作为货币符号。minimumFractionDigits: 2
表示最少保留两位小数。maximumFractionDigits: 2
表示最多保留两位小数。
通过这种方式,可以使用 JavaScript 快速简单地实现金额格式化效果。需要注意的是,toLocaleString()
方法在不同的浏览器和操作系统中可能存在差异,需要进行兼容性测试和兼容性处理。
三、 使用模板字符串 + Number.prototype.toFixed
+ 正则替换
const amount = 1234567.89; const formattedAmount = `¥${amount .toFixed(2) .replace(/\B(?=(\d{3})+(?!\d))/g, ",")}`; console.log(formattedAmount); // ¥1,234,567.89
在这个示例中,通过 toFixed
使金额保留两位小数,使用正则替换的方式增加千位分隔符,再使用模板字符串进行拼接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步