0
BigDecimal myNumber = new BigDecimal(1234.56);
NumberFormat instance = NumberFormat.getInstance(Locale.GERMAN);
String localizedNumber = instance.format(myNumber);
System.out.print("\nformatting " + localizedNumber); o/p ->1.234,56

ここまでコードは正常に動作しますが、指定された文字列にカンマが含まれているため、以下の行で NumberFormatter 例外が発生します。

BigDecimal bigDecimal = new BigDecimal(localizedNumber);

数値をローカライズしたいのですが、文字列として数値を入力すると、Excel のエラーの下に表示されるため、文字列を返すことができません

ローカライズされた形式で数値 (BigDecimal / Integer / BigInteger など) を返す方法はありますか? Excel で上記のエラーが発生せず、Excel データに対してフィルター操作を実行できるようにします。

new BigDecimalType().valueToString(value, locale); も試しました。および new BigDecimalType().stringToValue(s, locale); 動的ジャスパー レポート api の。

4

1 に答える 1

2

私だけに尋ねたこの質問に喜んで答えてくれましたが、誰もこれに答えなかったことに非常に驚いています. 実際には、オペレーティング システムの設定によって自動的に行われるため、Excel エクスポートで数値のローカライズを行う必要はありません。

「地域と言語」に移動 -> フォーマット -> 言語/国名を選択 -> 適用し、以前に英語で生成された Excel を確認します。

現在選択されている国の数値形式で数値が表示されます。:)

于 2014-11-05T04:18:07.567 に答える