Intl.NumberFormat 不会转换为 pt-BR 区域设置

m4e*_*4el 5 javascript node.js

我有这个代码示例:

const formCurrency = new Intl.NumberFormat('pt-BR', {
    style: 'currency',
    currency: 'BRL',
    minimumFractionDigits: 2
})
Run Code Online (Sandbox Code Playgroud)

如果输入是:

var money = 1000.50

formCurrency.format(money)
Run Code Online (Sandbox Code Playgroud)

预期输出是:R$ 1.000,50,但它给出:R$ 1,000.50

有谁知道如何更改,with.或其他方式来执行此操作Intl

我已经尝试将语言环境更改为 de-DE,但效果不佳。其他有style变化R$,但其余标点符号没有。

m4e*_*4el 3

感谢阿尔瓦罗,我找到了一种方法。根据 MDN 和 Node 文档本身,Node.js仅支持 en-US 语言环境。因此,为了使其发挥作用,我需要:

  • 安装full-icu软件包npm i full-icu
  • npm-rebuild安装后执行
  • 在文件里面添加package.json,添加代码:

    "scripts": { "start":"node --icu-data-dir=node_modules\\full-icu YOURAPP.js" }

  • 运行节点应用程序npm start

现在它获得了正确的区域设置并执行了正确的标点符号。