スポンサーリンク
Java

【Java】文字列の書式整形 format

Java

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(書式文字列, パラメータ);