带JS Intl的符号后的空格

我要使用NumberFormat of Intl设置货币格式,并在符号和数字之间使用空格""获取返回值。

new Intl.NumberFormat('pt-br', { style: 'currency', currency: 'USD' }).format(12345)
// "US$12.345,00"
new Intl.NumberFormat('pt-br', { style: 'currency', currency: 'BRL' }).format(12345)
// "R$12.345,00"

我想要的:"美元12.345,00","雷亚尔12.345,00"

有什么想法吗?


解决方案

您可以使用replace进一步设置货币格式。

数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
var usd = new Intl.NumberFormat('pt-br', { style: 'currency', currency: 'USD' }).format(12345).replace(/^(D+)/, '$1 ');

var euro = new Intl.NumberFormat('pt-br', { style: 'currency', currency: 'EUR' }).format(12345).replace(/^(D+)/, '$1 ');
var deEuro = new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(12345).replace(/^(D+)/, '$1 ');


console.log(usd);
console.log(euro);
console.log(deEuro);

相关文章