currency.getSymbol() 在不同设备上给出“US$”和“$”

在初始化货币时,我设置了区域设置和 locale.US 货币.getInstance(Locale.US),但是 getSymbol() 在不同的设备上给出了“US$”和“$。getSymbol() 在三星上给出了“$”,但给出了“US” $”在moto上。如何解决这个问题。



暮色呼如
浏览 118回答 2
2回答

PIPIONE

来自 javadocCurrency.getSymbol()获取默认区域设置的该货币的符号DISPLAY。例如,对于美元,如果默认区域设置是 US,则符号为“$”,而对于其他区域设置,符号可能为“US$”。如果无法确定符号,则返回 ISO 4217 货币代码。如果默认 DISPLAY区域设置包含“rg”(区域覆盖)Unicode 扩展,则从此方法返回的符号反映使用该扩展指定的值。这相当于调用getSymbol(Locale.getDefault(Locale.Category.DISPLAY)).这描述了为什么您有时看到“US$”而有时只看到“$”的原因。如果您想获得可重复的结果,请使用Currency.getInstance(Locale.US).getSymbol(Locale.US).

呼唤远方

在科特林中 -android.icu.util.Currency.getInstance("currency_code").getName(Locale.getDefault(),android.icu.util.Currency.NARROW_SYMBOL_NAME,null)https://developer.android.com/reference/kotlin/android/icu/util/Currency#narrow_symbol_namehttps://developer.android.com/reference/kotlin/android/icu/util/Currency#getname
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java