为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

暮色呼如 2024-01-05 16:24:31
在初始化货币时,我设置了区域设置和 locale.US 货币.getInstance(Locale.US),但是 getSymbol() 在不同的设备上给出了“US$”和“$。getSymbol() 在三星上给出了“$”,但给出了“US” $”在moto上。如何解决这个问题。
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

来自 javadocCurrency.getSymbol()

获取默认区域设置的该货币的符号DISPLAY。例如,对于美元,如果默认区域设置是 US,则符号为“$”,而对于其他区域设置,符号可能为“US$”。如果无法确定符号,则返回 ISO 4217 货币代码。

如果默认 DISPLAY区域设置包含“rg”(区域覆盖)Unicode 扩展,则从此方法返回的符号反映使用该扩展指定的值。

这相当于调用getSymbol(Locale.getDefault(Locale.Category.DISPLAY)).

这描述了为什么您有时看到“US$”而有时只看到“$”的原因。

如果您想获得可重复的结果,请使用

Currency.getInstance(Locale.US).getSymbol(Locale.US).


查看完整回答
反对 回复 2024-01-05
?
呼唤远方

TA贡献1856条经验 获得超11个赞

在科特林中 -

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_name

https://developer.android.com/reference/kotlin/android/icu/util/Currency#getname


查看完整回答
反对 回复 2024-01-05
  • 2 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信