2

accept-language ヘッダーに基づいて通貨をフォーマットしようとしていますが、少し問題があります。

  1. 英語-米国のユーザーは 10,000,000.15 ユーロを理解しますが、ドイツに相当する 10.000.000.15 ユーロは理解できません。

  2. 一方、"$23,123" は英語-US ユーザーには問題ないように見えますが、"$23,123.00" は非常に奇妙に見えます。「23,123円」も同様です。後者は、次のコードを使用して取得したものです。

     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 をフォーマットすると、「USD7.95」ではなく「USD8」と表示されます。

これを回避する簡単な方法はありますか?通貨をフォーマットするためのより良いライブラリはありますか? ロケールの数値としてフォーマットし (通貨がロケールのデフォルトでない場合)、通貨コードまたは記号を先頭に追加する必要がありますか?

4

1 に答える 1

3
于 2013-04-13T03:22:25.407 に答える