首页 > 解决方案 > Intl.NumberFormat 不会转换为 pt-BR 语言环境

问题描述

我有这个代码示例:

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

如果输入是:

var money = 1000.50

formCurrency.format(money)

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

有谁知道如何改变,with.或其他方式来做到这一点Intl

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

标签: javascriptnode.js

解决方案


好吧,这是一个非常不理想的解决方案,但应该可以解决问题

let result = formCurrency.format(money);
result = result.split('.');
result[0] = result[0].replace(',' , '.');
result = result.join(',');

我试图用正则表达式来做,但找不到一个好方法。


推荐阅读