String.formatのメソッドについてのメモ書き。
文字列
文字列を扱う場合は、%s
を使う。
Sample.java
public class Sample {
public static void main(String[] args) {
String place = "動物園";
String str = String.format("明日は、%sに行きます。", place);
System.out.println(str); // 明日は、動物園に行きます。
}
}
整数
整数を扱う場合は、%d
を使う。
Sample.java
public class Sample {
public static void main(String[] args) {
int age = 30;
String str = String.format("私は%d歳です。", age);
System.out.println(str); // 私は30歳です。
}
}
%,d
と記載することによって、3桁区切りでカンマを入れることができる。
Sample.java
public class Sample {
public static void main(String[] args) {
int price = 1000000;
String str = String.format("支払金額は、%,d円です。", price);
System.out.println(str); // 支払金額は、1,000,000円です。
}
}
「001234567」のように先頭を0で埋めたい場合は、%09d
と記載する。
Sample.java
public class Sample {
public static void main(String[] args) {
int id = 1234567;
String str = String.format("あなたのIDは、「%09d」です。", id);
System.out.println(str); // あなたのIDは、「001234567」です。
}
}
「 1234567」のように先頭を空白で埋めたい場合は、%9d
と記載する。
Sample.java
public class Sample {
public static void main(String[] args) {
int id = 1234567;
String str = String.format("あなたのIDは、「%9d」です。", id);
System.out.println(str); // あなたのIDは、「 1234567」です。
}
}
浮動小数点
浮動小数点を扱う場合は、%f
を使う。
Sample.java
public class Sample {
public static void main(String[] args) {
double pi = 3.14159265;
String str = String.format("円周率は%fです。", pi);
System.out.println(str); // 円周率は3.141593です。
}
}
また、%.2f
のように記載すると、表示する小数点以下の桁数を指定できる。
Sample.java
public class Sample {
public static void main(String[] args) {
double pi = 3.14159265;
String str = String.format("円周率は%.2fです。", pi);
System.out.println(str); // 円周率は3.14です。
}
}
日付/時刻
日付/時刻を扱う場合は、%t〇
を使う。 (〇
には日付/時刻書式の指定が必要)
Sample.java
public class Sample {
public static void main(String[] args) {
Date day = new Date(); // Fri Oct 04 10:06:30 JST 2024 の場合
System.out.println(String.format("%tD", day)); // 10/04/24
System.out.println(String.format("%tY年 %tm月 %td日", day, day, day)); // 2024年 10月 04日
System.out.println(String.format("%tT", day)); // 10:06:30
System.out.println(String.format("%tH時 %tM分 %tS秒", day, day, day)); // 10時 06分 30秒
}
}
printf()
System.out.printf()
を使うとformat形式で出力ができる。
sample.java
public class Sample {
public static void main(String[] args) {
String place = "水族館";
String str = String.format("明日は、%sに行きます。", place);
System.out.println(str); // 明日は、水族館に行きます。
System.out.printf("明日は、%sに行きます。\n", place); // 明日は、水族館に行きます。
}
}