iOS 和 android 上具有相同语言环境的货币格式不同

Currency getting differently formatted on iOS and android with same locale

我正在开发一个使用 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);
}

我知道 android 的本地人有 DecimalFormat 可以做到这一点,但我只想通过 JS 来实现。

感谢任何帮助!谢谢。

似乎出于某种原因无法select使用 Intl 库中的哪个脚本。 所以

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

当您单独导入 en-IN 时,它适用于 android。无法在 iPhone.

上进行测试