寒川アクアブログ

美容師しながらアプリ開発していて水草が趣味の私のブログです

doubleの値を、カンマつきの文字列に変換

1234567(double) を
1,234,567(String) に変換します。

double value = 1234567d;

DecimalFormat df = new DecimalFormat("#,##0.###");

String string = df.format(value);


コンストラクターのパラメーターはフォーマットのルールの定義のようなもので
0 は、値が無くても0を表示する
# は、値が0以外なら表示、0なら何も表示しない

上記の例なら小数点以下第3位までを表示し、整数の部分は3桁おきにカンマが入ります。

でも小数点以下は3桁までしか表示されないのに、整数は"1,234,567"のように、4桁で縛られることはなく、

カンマも入れてくれています。ここらへんがいまいち分かってないです・・・


電卓などの計算結果を表示するときに、手動でカンマを、

小数点の位置から、無ければ右端から3桁おきに","を挿入、先頭と"-"記号の右には入れない、

というふうにしていたので、かなり便利なクラスです!笑