Валюта по-разному форматируется на iOS и Android с той же локалью - PullRequest
0 голосов
/ 08 января 2019

Я работаю над приложением, использующим React Native, где мне нужно указывать валюту в евро, а также в рупиях.

Я использую Javascript Intl для форматирования валюты согласно локали, используя en-IN для рупий и en-GB для евро.

но валюта отображается с различным форматированием на iOS и в Android, в iOS валюта отображается правильно для IN, как 3,74,73,474, но то же самое показано на Android с этим форматом: 37,473,474. Не уверен, как мне подойти к этому. Ниже приведена функция полезности, которую я написал для форматирования:

getformattedCurrency(value) {
   const formatter = new Intl.NumberFormat('en-IN', {
      style: 'currency',
      currency: 'INR'
      minimumFractionDigits: 0,
      maximumFractionDigits: 0,
   });
   return formatter.format(value);
}

Я знаю, что у родного андроида есть DecimalFormat , чтобы сделать это, но я хочу добиться этого только через JS.

Любая помощь приветствуется! Благодаря.

1 Ответ

0 голосов
/ 11 января 2019

Похоже, по какой-то причине он не может выбрать, какой скрипт из библиотеки Intl использовать. Итак

import 'intl';
import 'intl/locale-data/jsonp/en-IN';
import 'intl/locale-data/jsonp/en';

Когда вы импортируете en-IN отдельно, он работает на Android. Невозможно проверить на iPhone.

...