Java String.format()メソッド

Javaで数値を0で、または文字列を空白で埋める方法

概要

0で埋めたり空白で埋めたりすることは、数値や文字列が指定した桁数になるようにパディング(padding)することである。
例えば、総桁数が5桁で"123"という数値がある場合、前に残り2桁を0で埋めると"00123"になる。

ここでは、Javaで数値を0で埋める方法と、文字列を空白で埋める方法を紹介する。

String.format()メソッドの使用

Stringクラスのformat()メソッドを使用すると、数値や文字列を簡単に埋めることができる。

String.format(String format, Object... args);
  • format: 書式文字列
  • args: 引数の値

書式文字列には次のような仕様がある。もし5桁になるように0で埋めたい場合は、"%05d"を指定すればよい。

  • %: 書式文字列であることを示す指示子。
  • 0: 埋める文字。ここでは0を指定。
  • 5: 桁数。ここでは5桁。
  • d: 出力する値の形式。ここではdecimal。

それでは、0と空白で埋めるコードを書いてみよう。

package com.devkuma.basic.string;

public class StringFormat {
    public static void main(String[] args) {
        System.out.println("0으로 채우기");
        System.out.println(String.format("%03d", 123));
        System.out.println(String.format("%04d", 123));
        System.out.println(String.format("%05d", 123));

        System.out.println("공백으로 채우기");
        System.out.println(String.format("%3s", "ABC"));
        System.out.println(String.format("%4s", "ABC"));
        System.out.println(String.format("%5s", "ABC"));
    }
}

実行結果:

0으로 채우기
123
0123
00123
공백으로 채우기
ABC
 ABC
  ABC