Intl.NumberFormat отличается выводом в Chrome и IE - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь использовать 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 голосов
/ 16 октября 2019

Реализация несовместима в разных браузерах, нет простого способа обойти это, вы можете реализовать свою собственную функцию форматирования. Если вы попытаетесь использовать только символ вместо названия валюты, то он будет выглядеть одинаково.

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

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

Вы также можете обернуть вышеописанную функцию, а затем добавить символ самостоятельно, чтобы обеспечить его согласованность во всех браузерах :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...