使用JS Intl符号后的空格

Ren*_*osa 5 javascript number-formatting ecmascript-6 ecmascript-intl

我想用Intl的NumberFormat格式化货币,并获得返回值,在符号和数字之间加一个空格"".

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"
Run Code Online (Sandbox Code Playgroud)

我想要的是:"US $ 12.345,00","R $ 12.345,00"

有任何想法吗?

Cha*_*a G 5

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

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);
Run Code Online (Sandbox Code Playgroud)