如何在JavaScript中将数字格式化为美元货币字符串?我想用JavaScript格式化价格。我想要一个函数,它接受一个float参数并返回如下string格式:"$ 2,500.00"最好的方法是什么?
3 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
Intl.numberformat
Javascript有一个数字格式化程序(Internationalization API的一部分)。
// Create our number formatter.var formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD',});formatter.format(2500); /* $2,500.00 */
用于undefined
代替第一个参数('en-US'
在示例中)以使用系统区域设置(如果代码在浏览器中运行,则为用户区域设置)。
Intl.NumberFormat与Number.prototype.toLocaleString
最后一点,将其与旧版本进行比较。toLocaleString
。它们都提供基本相同的功能。但是,toLocaleString在其旧版本(pre-Intl)中实际上并不支持区域设置:它使用系统区域设置。因此,请确保您使用的是正确的版本(MDN建议检查是否存在Intl
)。此外,对于单个项目,两者的性能相同,但如果您要格式化大量数字,则使用Intl.NumberFormat
速度要快70倍。以下是使用方法toLocaleString
:
(2500).toLocaleString('en-US', { style: 'currency', currency: 'USD',}); /* $2,500.00 */
关于浏览器支持的一些注意
如今,浏览器支持不再是一个问题,在美国/欧盟有97%的支持
对于世界其他地区(92%支持),支持方面最大的违法者是UC Mobile(远离那个)和Opera Mini(设计残缺)
有一个垫片支持旧版浏览器
有关更多信息,请查看CanIUse
没有找到匹配的内容?试试慕课网站内搜索吧
添加回答
举报
0/150
提交
取消