Java - 数字の左側にゼロを埋める

特定の桁数だけ整数の左にゼロで埋める方法を紹介します。

たとえば、次のように数字を10桁の数字で表しますが、数字の左側に足りないスペースはゼロで埋める方法です。

1234 -> 0000001234

1. String.format() を使った方法

String.format(format, num) 関数は、引数として渡された format に合わせて数値を文字列に変換します。

以下の例では、「%06d」は整数を6桁に出力します。 そして「%010d」は10桁で出力し、空のスペースは0でいっぱいになるという意味です。

public class Example {

    public static void main(String[] args) {

        int num = 1234;

        String str = String.format("%06d", num);
        System.out.println(str);

        str = String.format("%010d", num);
        System.out.println(str);
    }
}

Output:

001234
0000001234

2. DecimalFormatを使った方法

new DecimalFormat("000000") のようにオブジェクトを初期化し、 format(num) を呼び出すと 6 桁で整数を文字列に変換し、空のスペースは 0 でいっぱいに戻ります。

import java.text.DecimalFormat;

public class Example1 {

    public static void main(String[] args) {

        int num = 1234;

        DecimalFormat df = new DecimalFormat("000000");
        String str = df.format(num);
        System.out.println(str);

        df = new DecimalFormat("0000000000");
        str = df.format(num);
        System.out.println(str);
    }
}

Output:

001234
0000001234

3. System.out.printf() を使った方法

String.format() のように printf() で特定の形式で整数を文字列に変換できます。

printf() の場合、文字列を返さずにコンソールに直接出力します。改行しないので、別に追加するか、 println() を呼び出してください。

public class Example2 {

    public static void main(String[] args) {

        int num = 1234;

        System.out.printf("%06d", num);

        System.out.println();

        System.out.printf("%010d", num);
    }
}

Output:

001234
0000001234
codechachaCopyright ©2019 codechacha