この質問と、小数の書式設定に関連する他のいくつかの SO の質問に多少関連しています (これらはすべて、この例では役に立ちませんでした)。
Long を String にフォーマットしようとしています (例: 123456 -> 012.345,6 (ピリオドの後にコンマが続くのは奇妙に思えるかもしれませんが、プロジェクトの要件です)。
私は書式設定のために DecimalFormat を試しています:
private static final DecimalFormat format = new DecimalFormat("##0.000,0");
ただし、インスタンス化中に例外がスローされます。
java.lang.IllegalArgumentException: 不正なパターン "##0.000,0"
また、事前にロケールを EU システムに変更することも実験しました。
NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.GERMAN);
このように数値をフォーマットするにはどうすればよいですか? DecimalFormat は間違った解決策ですか? NumberFormat を使用できますか? それとも、カスタム フォーマッタが必要ですか?