以下适用于Chrome:
var formatted = (value * 1).toLocaleString('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0 });
但IE / Edge和Firefox抛出错误:
RangeError:无效数字值:0
Mozilla docs for toLocaleString:
maximumFractionDigits:要使用的最大小数位数。可能的值为0到20
答案 0 :(得分:8)
仔细阅读NumberFormat的文档会显示,对于美元货币,minimumFractionDigits
的默认值为2.将minimumFractionDigits
和maximumFractionDigits
都设置为0固定问题。从中可以看出,IE和Edge maximumFractionDigits
必须是> = minimumFractionDigits
,在指定货币时(至少)
var formatted = (value * 1).toLocaleString('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0, minimumFractionDigits: 0 });