String.formatメソッドでゼロ埋めや半角スペース埋め、3桁カンマ区切りなど
容易に実装ができるようになります。
String.formatとは
引数で指定された書式に文字列を整形して返却します。
以下のように記載します。
String.format(書式, 整形する文字列)
書式 = % + 修飾文字(省略可) + 桁(省略可) + 型(必須)
修飾文字は任意の文字を指定し、
桁も同じく任意の桁を指定。
型について↓
d = 整数 s = 文字列 f = 少数 b = 真偽値
ゼロ埋めコード
public class Main {
public static void main(String[] args) {
int num = 11;
// 4桁でゼロ埋め
System.out.println(String.format("%04d", num));
}
}
// 実行結果
0011
サンプルコードのString.formt(“%04d“, num)
赤文字の書式について補足です。
% 修飾文字(省略可) 桁(省略可) 型(必須)
今回でいうと
0が修飾、4が桁、dが型
となっております。
0埋め、4桁、d(整数)で書式にフォーマットをかけたことになります。
半角スペース埋めコード
public class Main {
public static void main(String[] args) {
int num = 11;
// 数値型 前に半角スペースを追加
System.out.println(String.format("%4d", num));
// 数値型 後ろに半角スペースを追加
System.out.println(String.format("%-4d", num));
String str = "string";
// 文字列 前に半角スペースを追加
System.out.println(String.format("%8s", str));
// 文字列 後ろに半角スペースを追加
System.out.println(String.format("%-8s", str);
}
}
実行結果
11
11
string
string
サンプルコードの書式の解説です。
書式 | 説明 |
---|---|
“%4d” | 「4桁 d(数値)」 右寄せ4桁半角スペース埋め |
“%-4d” | 「-(左寄せ) 4桁 d(数値)」 左寄せ4桁半角スペース埋め |
“%8s” | 「8桁 s(文字列)」 右寄せ8桁半角スペース埋め |
“%-8s” | 「-(左寄せ) 8桁 s(文字列)」 左寄せ8桁半角スペース埋め |
3桁カンマコード
puclic class Main {
public static void main(String[] args) {
int num = 1234567;
System.out.println(String.format("%,d", num));
}
}
//実行結果
1,234,567
“%,d”は「,(カンマ区切り)、d(整数)」と指定されています。
おまけコード
public class Main {
public static void main(String[] args) {
System.out.println(
String.format("%dヶ月で%sをマスター", 2, "プログラミング")
);
System.out.printf("%dヶ月で%sをマスター", 2, "プログラミング");
}
}
//実行結果
2ヶ月でプログラミングをマスター
2ヶ月でプログラミングをマスター
上記コードのように書式の指定を複数行うことも可能です。
また、String.formatを使って文字列を作り画面表示させる場合、
System.out.printf()メソッドを使用できます。
System.out.printf(書式文字列, パラメータ);