0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】String.format の使い方

Posted at

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); // 明日は、水族館に行きます。
  }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?