Javaで変数の内容を整形して出力する場合はString.format関数を用います。
書式
String.format(書式文字列, 変数1, 変数2, ...変数n);
書式文字列
書式文字列での書式指示子は以下となります。
%[argument_index$][flags][width][.precision]conversion
パラメータ | 種類 | 意味 |
argument_index | オプション | 引数リスト内での引数の位置を示す 10 進整数です。最初の引数は「1$」、2 番目の引数は「2$」となります |
flags | オプション | 出力書式を変更する文字のセット |
width | オプション | 出力に書き込む最小文字数を示す正の 10 進整数 |
precision | オプション | 文字数を制限するために通常使用される正の 10 進整数 (おもに桁数を設定) |
conversion | 必須 | 引数を書式設定する方法を指定 |
conversionの値
書式指示子のconversionは以下の文字で表します。
変換 | カテゴリ | 型 | 意味 |
b, B | 一般 | ブール値 | 引数がboolean または Boolean の場合、結果は String.valueOf() により返される文字列になる。引数がnullの場合はfalse、それ以外の場合はtrueになる。 |
h, H | 一般 | 16進数 | Integer.toHexString(arg.hashCode()) の呼び出しで取得される値。引数がnullの場合はnullとなる。 |
s, S | 一般 | 文字列 | が Formattable を実装する場合に、arg.formatTo が呼び出されます。そうでない場合、結果は arg.toString() の呼び出しで取得される値。引数がnullの場合はnullとなる。 |
c, C | 文字 | 文字 | Unicode 文字を出力する |
d | 整数 | 10進数 | 10 進整数として書式設定される。 |
o | 整数 | 8進数 | 結果は、8 進整数として書式設定される。 |
x, X | 整数 | 16進数 | 16 進整数として書式設定される。 |
e, E | 浮動小数点 | 小数 | 結果は、16 進整数として書式設定される。 |
f | 浮動小数点 | 小数 | 10 進数として書式設定される。 |
g, G | 浮動小数点 | 小数 | 四捨五入処理後の精度および値に応じて浮動小数点表示形式または 10 進数書式を使用して書式設定される。 |
a, A | 浮動小数点 | 小数 | 有効数字および指数を持つ浮動小数点数として書式設定される。 |
t, T | 日付/時刻 | | 日付および時刻変換 |
% | パーセント | | 結果は、リテラル「%」(\u0025) になる。 |
n | 行区切り文字 | | 結果は、プラットフォーム固有の行区切り文字になる。 |
コードサンプル
変数の値を整形して文字列を作成し、その文字列を標準出力で出力します。
コード
package javaapplicationformat;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int a = 12;
int b = 33;
int c = 6;
String d = "Goose";
float e = 3.333678f;
String text = String.format("%d,%d - 値: %s %d %.2f", a,b,d,c,e);
System.out.println(text);
}
}
実行結果
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-02-22