我正在尝试将给定的数字格式化为欧洲格式。但是,我只得到美国/英国格式的结果。
这是我的代码:
static async formatCurrency(numberIn: number, currencyIndicator: string) {
if(currencyIndicator=='EUR') {
console.log(numberIn.toLocaleString('es-ES', { minimumFractionDigits: 2 , style: 'currency', currency: 'EUR'}));
console.log(Number(numberIn).toLocaleString("de-DE", {minimumFractionDigits: 2}));
}
}
await formatCurrency(12345678.00,"EUR");
这是我的输出:
€12,345,678.00
12,345,678.00
我期望的输出是:
€12.345.678,00
12.345.678,00
答案 0 :(得分:0)
我尝试安装full-icu并将其导入我的班级。有了这段代码,我仍然没有得到想要的结果:
formattedNumber = await new Intl.NumberFormat('nl-NL', { minimumFractionDigits: 2 , style: 'currency', currency: 'EUR'}).format(numberIn);
console.log("formattedNumber is: " + formattedNumber);
这是我的输出结果:€12,345,678.00。而不是€12.345.678,00
这可能是更好的解决方案吗?
formattedNumber = await formattedNumber.replace(/\./g, "_");
formattedNumber = await formattedNumber.replace(/,/g, ".");
formattedNumber = await formattedNumber.replace(/_/g, ",");
```