2

我正在尝试根据接受语言标头格式化货币,但遇到了一些麻烦。

  1. 英美用户会理解 € 10,000,000.15,但不理解适用于德国的等值 € 10.000.000,15

  2. 另一方面,“$23,123 看起来”对于英美用户来说很好,但“$23,123.00”看起来很奇怪。“JPY23,123.00”也是如此。后者是我使用以下代码得到的:

     java.text.NumberFormat format = java.text.NumberFormat.getCurrencyInstance(java.util.Locale.US);
     format.setCurrency(java.util.Currency.getInstance("JPY"));
    
  3. 更令人不安的是当我在 ja_JP 中显示 USD 时发生的舍入。如果我格式化 7.95,它只显示为“USD8”而不是“USD7.95”

有什么简单的方法可以避免这种情况吗?有没有更好的格式化货币库?我是否应该将其格式化为区域设置的数字(如果货币不是区域设置的默认值),然后添加货币代码或符号?

4

1 回答 1

3
于 2013-04-13T03:22:25.407 回答