gpt4 book ai didi

es_US 的 Android NumberFormat.getCurrencyInstance 返回不正确的值

转载 作者:行者123 更新时间:2023-11-29 00:31:51 26 4
gpt4 key购买 nike

    Locale locale = Locale.getDefault();
final NumberFormat numberFormat = NumberFormat.getCurrencyInstance(locale);

语言环境是 es_US

数字格式是

 java.text.DecimalFormatSymbols[currency=USD,currencySymbol=$,decimalSeparator=,,digit=#,exponentSeparator=E,groupingSeparator=.,infinity=∞,intlCurrencySymbol=USD,minusSign=-,monetarySeparator=,,NaN=NaN,patternSeparator=;,perMill=‰,percent=%,zeroDigit=0]

decimalSeparator和groupingSeparator是错误的,应该是。和 ,分别。这是 Android 中的错误吗?

编辑:

    DecimalFormatSymbols decimalFormatSymbols = ((DecimalFormat) numberFormat).getDecimalFormatSymbols();

if ("US".equalsIgnoreCase(locale.getCountry())
&& "es".equalsIgnoreCase(locale.getLanguage())) {
decimalFormatSymbols.setMonetaryDecimalSeparator('.');
decimalFormatSymbols.setGroupingSeparator(',');
}

((DecimalFormat) numberFormat).setDecimalFormatSymbols(decimalFormatSymbols);

这是“修复”它的一种方法,但看起来确实应该有一种对语言环境更友好的方法来做到这一点。

最佳答案

回答我的问题;是的,这是 Android 中的一个已知错误:

https://code.google.com/p/android/issues/detail?id=38844

应该修复了 4.2 后,但我们现在是 4.2.2

关于es_US 的 Android NumberFormat.getCurrencyInstance 返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15100990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com