我开发的财务应用应该使用不同的货币符号,这取决于国家/地区。我使用此代码:
Float value = 100;
TextView tv = (TextView) view;
NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
tv.setText(currencyFormat.format(value));
我有几个报告说我的应用程序返回欧元符号而不是正确的货币(例如在Malysia或印度)。这些用户表示他们的系统语言是他们国家的原生语言。我无法证明自己,因为我的手机或模拟器上没有可用的语言。
答案 0 :(得分:1)
我想您可以尝试在应用中强制使用区域设置,因为这似乎与设备上的默认区域设置有关。请参阅这些链接 -
how to choose serbain language from android Emulator settings?
http://www.tutorialforandroid.com/2009/01/force-localize-application-on-android.html
这可能会帮助您复制用户在其设备上报告的问题。
修改强> 我自己没有测试过,但它可以适用于你的情况。
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);
}