Android 在某些国家/地区,NumberFormat.getCurrencyInstance()是否无法返回正确的符号?

Android 在某些国家/地区,NumberFormat.getCurrencyInstance()是否无法返回正确的符号?,android,Android,我开发的金融应用程序应该使用不同的货币符号,这取决于国家。我正在使用以下代码: Float value = 100; TextView tv = (TextView) view; NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(); tv.setText(currencyFormat.format(value)); 我有几份报告说,我的应用程序返回的是欧元符号,而不是正确的货币(例如在马来西亚或印度)。这些用户表示他

我开发的金融应用程序应该使用不同的货币符号,这取决于国家。我正在使用以下代码:

Float value = 100;
TextView tv = (TextView) view;
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
tv.setText(currencyFormat.format(value));

我有几份报告说,我的应用程序返回的是欧元符号,而不是正确的货币(例如在马来西亚或印度)。这些用户表示他们的系统语言是本国语言。我自己无法证明这一点,因为我的手机或模拟器上没有这种语言

我认为您可以尝试在应用程序中强制设置区域设置,因为这似乎与设备上默认区域设置的方式有关。查看这些链接-

这可能会帮助您复制用户在其设备上报告的问题

编辑: 我自己没有测试过,但它可以在你的情况下工作

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String languageToLoad  = "en";
    String countryToLoad = "MY"; // 2 digit country code for Malaysia
    Locale locale = new Locale(languageToLoad, countryToLoad); 
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext().getResources().updateConfiguration(config, 
    getBaseContext().getResources().getDisplayMetrics());
    this.setContentView(R.layout.main);
}

我想您可以尝试在应用程序中强制设置区域设置,因为这似乎与设备上的默认区域设置有关。查看这些链接-

这可能会帮助您复制用户在其设备上报告的问题

编辑: 我自己没有测试过,但它可以在你的情况下工作

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    String languageToLoad  = "en";
    String countryToLoad = "MY"; // 2 digit country code for Malaysia
    Locale locale = new Locale(languageToLoad, countryToLoad); 
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext().getResources().updateConfiguration(config, 
    getBaseContext().getResources().getDisplayMetrics());
    this.setContentView(R.layout.main);
}

我不明白。文档中的区域设置列表非常糟糕,根本没有Malesia,我的客户说他有Malesian区域设置我没有真正使用区域设置,但检查我的编辑。语言环境文档确实指出,可用列表因设备本身而异。语言环境文档中提到了这一点。语言和国家代码有两个链接:,我不明白。文档中的区域设置列表非常糟糕,根本没有Malesia,我的客户说他有Malesian区域设置我没有真正使用区域设置,但检查我的编辑。语言环境文档确实指出,可用列表因设备本身而异。语言环境文档中提到了这一点。语言和国家代码有两个链接:,