String msg = MessageFormat.format("{0}", 100000); System.out.println(msg);実行結果
100,000この結果はロケールにも依存してます。 デフォルトのLocaleをロシアにすると、スペースだけ入ります。 他にもカンマの代わりにピリオドを使う国もあるみたいです。
Locale.setDefault(new Locale("ru")); String msg = MessageFormat.format("{0}", 100000); System.out.println(msg);出力結果はこうなります。
100 000Locale依存でもあるし、カンマを付けたくないときは次の2種類の方法でできるようです。
・数値をStringにする
ググるとまず出てきたのがこの方法です。
String msg = MessageFormat.format("{0}", String.valueOf(100000)); System.out.println(msg);文字列を表示するので当然勝手にフォーマットされなません。
100000・数値のフォーマット方法を指定する
APIドキュメント見ると、{0}のところに追加でフォーマットを指定できるようです。
{ArgumentIndex , FormatType , FormatStyle }
FormatTypeにnumberを指定すると、FrotmatStyleにDecimalFormatと同じようにフォーマットを指定できるみたいです。
String msg = MessageFormat.format("{0,number,#}", 100000); System.out.println(msg);これでカンマが付加されなくなります。
100000この方法はここを参照しました。
http://stackoverflow.com/questions/1942118/how-do-i-format-a-long-integer-as-a-string-without-separator-in-java
0 件のコメント:
コメントを投稿