为了账号安全,请及时绑定邮箱和手机立即绑定

Intl.NumberFormat:货币和数字的区别

Intl.NumberFormat:货币和数字的区别

九州编程 2023-08-18 16:36:53
为什么使用 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 €


查看完整回答
反对 回复 2023-08-18
  • 1 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信