我正在使用非英语语言环境的设备,英语货币格式如下:
1 美元
如果我有英语语言环境,我会得到欧元货币,例如:
1欧元
使用
format.setCurrency(Currency.getInstance(currency));
return format.format(amount);
在文档中找到:
http://developer.android.com/reference/java/util/Currency.html#getSymbol ()
在语言环境中返回此货币的本地化货币符号。也就是说,给定“USD”和 Locale.US,你会得到“$”,但给定“USD”和非美国语言环境,你会得到“US$”。
如果 locale 只指定一种语言而不是语言和国家(例如 Locale.JAPANESE 或 {new Locale("en", "")} 而不是 Locale.JAPAN 或 {new Locale("en", "US" )}),返回 ISO 4217 货币代码。
如果没有特定于区域设置的货币符号,则返回 ISO 4217 货币代码。
不是同一种方法,但可能相关。为什么我的设备语言环境对以货币排序的符号有影响?无论我使用哪种语言环境,1$ 都是不正确的。
有没有办法改变这个?