目次へ

6. フォーマット入出力2

2005.10.25 株式会社四次元データ 宮澤了祐

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 

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp