我收到了瑞典用戶的錯誤報告,說瑞典貨幣使用了錯誤的小數點分隔符。在Android中使用錯誤的小數點分隔符格式化貨幣
NumberFormat enUS = NumberFormat.getCurrencyInstance(Locale.US);
NumberFormat enGB = NumberFormat.getCurrencyInstance(Locale.UK);
NumberFormat svSE = NumberFormat.getCurrencyInstance(new Locale("sv", "SE"));
double cost = 1020d;
String fmt = "en_US: %s en_GB %s sv_SE %s";
String text = String.format(fmt, enUS.format(cost), enGB.format(cost), svSE.format(cost));
Log.e("Format", text);
> Format﹕ en_US: $1,020.00 en_GB £1,020.00 sv_SE 1 020:00 kr
他們說格式應該是「1 020,00 kr」。當我檢查格式對象時,它看起來像符號表中有「,」的decimalSeparator,而是「:」的「貨幣選擇器」。
有誰知道是否:實際上是正確的,這是否是Android/java中的錯誤,或者任何類型的解決方法?
您使用的是什麼版本的java?在1.6.0_10我的輸出是'en_US:$ 1,020.00 en_GB£1,020.00 sv_SE 1 020,00 kr'它顯示正確的格式。 – ufis