6. フォーマット入出力2
2005.10.25 株式会社四次元データ 宮澤了祐
入出力(java.io) 6章 フォーマット入出力2
- 6.1. 書式指定子の記述方法2
- 6.2. 時刻関連の書式指定子
6.1. 書式指定子の記述方法2
前章に続き、書式指定子の記述方法の解説です。フラグ
フラグは表示形式を指定することが出来ます。次のフラグがあります。
フラグ | 説明 | 指定出来る変換文字 |
---|---|---|
- | 左寄せで出力します。幅を指定する必要があります。 | 全て |
# | 別形式で出力します。別形式の形は変換文字ごとに異なります。 | s,o,x(X) |
+ | 符号を出力 | d,o,x(X),e(E),f,g(G),a(A) |
半角スペース | 正の値であれば、先頭にスペースが含まれます。「+」との同時指定を行うとエラーが発生します。 | c,d,o,x(X),e(E),f,g(G),a(A),t(T) |
0 | 前に0をつめます。幅の指定が無ければエラーが発生します。 | c,d,o,x(X),e(E),f,g(G),a(A),t(T) |
, | 数値を桁ごとに「,」で区切ります。ロケールに依存します。ロケールを指定していない場合、実行環境によります。 | c,d,f,g(G),t(T) |
( | 負の値を()で囲みます。 | c,d,o,x(X),e(E),f,g(G),t(T) |
int a = 100; System.out.printf("ノーマル :%d%n",a); System.out.printf("符号つき:%+d%n",a); System.out.printf("スペース:% d%n",a); int b = -100; System.out.printf("ノーマル :%d%n",b); System.out.printf("符号つき:%+d%n",b); System.out.printf("括弧つき:%(d%n",b);以下のように出力されます。
ノーマル :100 符号つき:+100 スペース: 100 ノーマル :-100 符号つき:-100 括弧つき:(100)
幅.精度
幅は、最低限表示する文字数を示します。もし変換後の文字数が、指定した幅より大きければ無視されます。 また、「,」や「(」などのフラグや値が浮動小数点であった場合、文字数には「,」や「(」や「.」を含みます。
精度は、小数点以下の桁数を示します。指定した数より下は四捨五入されます。 変換文字の直前に「幅.精度」の形で指定します。精度のみ、幅のみの指定も可能です。
int a = 1000; double b = 10.05; System.out.printf("a = %05d %n",a); System.out.printf("a = %,05d %n",a); System.out.printf("b = %5.1f %n",b); System.out.printf("b = %05.2f %n",b);
これは以下のように出力されます。
a = 01000 a = 1,000 b = 10.1 b = 10.0500