Chrome和IE中的Intl.NumberFormat不同的输出

时间:2019-10-16 15:34:54

标签: javascript internationalization

我正在尝试使用Intl.NumberFormat以及浏览器的语言环境来获取货币信息。

var amount = 654321.987;

    var options1 = { style: 'currency', currency: 'EUR', currencyDisplay:'name' };
    var numberFormat1 = new Intl.NumberFormat('en-US', options1);

    console.log(numberFormat1.format(amount));

使用上面的代码给我IE11和chrome的不同输出。为什么跨浏览器不同以及我们如何获得标准输出。

1 个答案:

答案 0 :(得分:0)

在不同的浏览器上实现不一致,没有简单的方法可以解决,您可以实现自己的格式化功能。如果尝试仅使用符号而不是货币名称,则其外观将相同。

var number = 123456.789;
var opts =  { style: 'currency', currency: 'EUR'};

console.log(new Intl.NumberFormat('en-US', opts).format(number));

您还可以将函数包装在上面,然后自己添加符号以在浏览器之间保持一致:)