我正在使用JavaScript Intl对象,我想格式化一个数字(例如150)看起来像“£150”。对于Chrome,直到版本59的更新,这段代码完美无缺:
var GBPFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'GBP',
maximumFractionDigits: 0
});
但是现在它说“maximumFractionDigits”不能为0,并且在https://developer.mozilla.org/中读取后我发现对于GBP maximumFractionDigits不能小于2.
一切都很好,但我仍然需要“150英镑”而不是“150英镑”。任何想法我仍然可以使用Intl对象,使它看起来像我需要的方式。
P.S。我知道我可以使自己的功能相同,但考虑到我不只有英镑而是更多的货币,我更愿意坚持使用现成的解决方案。
答案 0 :(得分:3)
您可以将maximumFractionDigits
选项设置为0
,但值必须高于minimumFractionDigits
。由于此货币的minimumFractionDigits
默认值高于0
,因此您需要手动设置这两种货币以获得所需内容:
var GBPFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'GBP',
minimumFractionDigits: 0,
maximumFractionDigits: 0
});
console.log(GBPFormatter.format(150)); // Should output "£150"