Java ゼロ埋め スペース埋めする方法

Javaで数値をゼロ埋めする方法と文字列をスペース埋めする方法です。

Java ゼロ埋め スペース埋めする方法

ゼロ埋めやスペース埋めというのは、数値や文字列を指定の桁数になるようにパディングするってことです。例えば「123」という数値なら「00123」という感じにすること。

ここでは Javaで数値をゼロ埋めする方法と文字列をスペース埋めする方法 を紹介します。


String.formatメソッドを使う

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

String.format(書式文字列, 値);

書式文字列には下記のような仕様があります。仮に5桁でゼロ埋めしたい場合には「%05d」と書きます。

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

実際のコードを書くとこうなります。ついでにスペース埋めのコードも書いてみましょう。

System.out.println("############### ゼロ埋め ################");
System.out.println(String.format("%03d",123)); // 123
System.out.println(String.format("%04d",123)); // 0123
System.out.println(String.format("%05d",123)); // 00123

System.out.println("############### スペース埋め ################");
System.out.println(String.format("%3s","XYZ")); // XYZ
System.out.println(String.format("%4s","XYZ")); //  XYZ
System.out.println(String.format("%5s","XYZ")); //   XYZ

結果はこうなります。

############### ゼロ埋め ################
123
0123
00123
############### スペース埋め ################
XYZ
 XYZ
  XYZ

ふむ、いい感じですね。

参考サイト

String.formatの実体はFormatterクラスです。どのような書式文字列があるかについては下記のサイトで確認ください。

書式文字列の構文

まとめ

Javaで数値をゼロ埋めする方法と文字列をスペース埋めする方法を紹介しました。

実務の中で数値をゼロ埋めするシチュエーションといえば、社員番号や請求書番号などによる桁合わせなどがあるでしょうか。スペース埋めは固定長ファイルの作成なんかで利用しますね。

いずれも実務ではよく使うので覚えておきましょう。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。