[解決済み】DecimalFormatの小数点以下の区切り文字をカンマからドット/ポイントに変更するには?
2022-04-29 05:30:12
質問
BigDecimal値を読みやすい文字列に変換する、ちょっとクレイジーなメソッドを持っています。
private String formatBigDecimal(BigDecimal bd){
DecimalFormat df = new DecimalFormat();
df.setMinimumFractionDigits(3);
df.setMaximumFractionDigits(3);
df.setMinimumIntegerDigits(1);
df.setMaximumIntegerDigits(3);
df.setGroupingSize(20);
return df.format(bd);
}
しかし、これはいわゆるグループ化セパレータも生成します。
","
そのため、すべての値が次のようになります。
xxx,xxx
セパレータはカンマではなく、ドットまたはポイントである必要があります。 どなたかこの小さな偉業を達成するための手がかりをお持ちの方はいらっしゃいませんか?
私が読んだのは これ で、特に これ を今更ながら死守したいのですが、方法が見つかりません。 私のやり方は間違っているのでしょうか?もっとエレガントな方法はないのでしょうか?コンマはヨーロッパの標準では完璧なので、異なる地域の番号表現を考慮した解決策もあるかもしれません。
どのように解決するのか?
セパレータを変更するには、ロケールを設定するか、または DecimalFormatSymbols .
グループ分けの区切り文字をポイントにしたい場合は、european ロケールを使用することができます。
NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);
DecimalFormat df = (DecimalFormat)nf;
また、DecimalFormatSymbols クラスを使用すると、format メソッドが生成するフォーマットされた数値に表示される記号を変更することができます。これらの記号には、小数点の区切り記号、グループ化された区切り記号、マイナス記号、パーセント記号などが含まれます。
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(currentLocale);
otherSymbols.setDecimalSeparator(',');
otherSymbols.setGroupingSeparator('.');
DecimalFormat df = new DecimalFormat(formatString, otherSymbols);
カレントロケール は Locale.getDefault() から取得することができます。
Locale currentLocale = Locale.getDefault();
関連
-
[解決済み] JVMフラグCMSClassUnloadingEnabledは、実際に何をするのですか?
-
[解決済み] Jdbctemplate の文字列に対するクエリです。EmptyResultDataAccessException: 不正な結果サイズ:期待値1、実際0
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] java.util.MissingFormatArgumentException: 形式指定子 '%s' がありません。
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] Android ListViewのセパレータラインの色を変更するには?
-
[解決済み] カンマを小数点としてDoubleを解析する最良の方法?
-
[解決済み] EditTextのnumberDecimal inputTypeで小数点以下の区切りカンマ(',')を使用する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] Java の substring() の時間複雑性
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] javaでAnnotation Inheritanceのようなものはあるのでしょうか?
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] Eclipseでクラスとそれに対応するファイルの名前を変更する方法は?
-
[解決済み】Double値を小数点以下2桁に書式設定する最適な方法【重複あり