プロが教える店舗&オフィスのセキュリティ対策術

Java超初心者です。宜しくお願い致します。

System.out.printf("%8f\n",15.8);

は8桁表示のはずですが、
実行すると、
15.800000
と、いう風に9桁になります。
詳しい方はきっと当たり前と思うと思いますが、
小数点以下の桁数がどういう基準で決められるのか、
つまりゼロ(0)がいくつ並ぶか、というのがよくわかりません。
%12f
に変更すると、
   15.800000
と、左側にスペースが3つ入ります。
12桁と指定しても、小数点以下のゼロが5つだから、左にスペースが3つ入るわけですよね。
結局、小数点以下の桁数を指定していないのに勝手にゼロが並ぶので、
表示は実行してみるまでどうなるか解らない、という状況です。
規則というか、ルールを解りやすく教えて頂けると嬉しく思います。

宜しくお願い致します。

A 回答 (1件)

%fを使うと小数点以下を6桁表示しようとします。


System.out.printf("%8f\n",15.8);の場合は、小数点以下6桁を出力すると全体で最低9桁が必要になるので%8fの8が無視されます。
%12fにすると、12-9=3桁余るのでそこをスペースで埋めます。

小数点以下の表示桁数を制御したい場合は%.5fのような書き方で指定します。
    • good
    • 3
この回答へのお礼

的確かつ解りやすい御返答を感謝致します。
%fの小数点以下は6桁表示なのですね。
ありがとうございました。

お礼日時:2012/07/08 14:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!