为什么使用 style: 'currency' 时 Intl.NumberFormat 的输出与仅格式化常规数字时不同?由于某种原因,当格式化为货币时,它在使用相同的区域设置时使用不同的逗号分隔符规则。console.log(new Intl.NumberFormat('en-BE').format(2222.22))// 2.222,22console.log(new Intl.NumberFormat('en-BE', { currency: 'EUR', style: 'currency'}).format(2222.22))// €2,222.22 -> I expect €2.222,22
1 回答
萧十郎
TA贡献1815条经验 获得超13个赞
使用 en-DE 也会遇到同样的问题
如果您想要欧洲格式,请使用有效的区域设置。
nl_NL、nl-BE、de-BE (€ 2,222.22)
fr-BE (2 222,22 €)
console.log(new Intl.NumberFormat('nl-NL').format(2222.22))
// 2.222,22
const opts = {
currency: 'EUR',
style: 'currency'
}
console.log(new Intl.NumberFormat('nl-NL', opts).format(2222.22))
// € 2.222,22
console.log(new Intl.NumberFormat('fr-BE', opts).format(2222.22))
// 2 222,22 €
添加回答
举报
0/150
提交
取消