【Java】String.formatメソッドでゼロ埋め、半角スペース埋めをする方法

はじめに

String.formatメソッドを用いると、ゼロ埋めや半角スペース埋めを行うことができます。

ゼロ埋めとは

数値があらかじめ指定された桁数に満たない場合、数値の左側を0で埋めることで桁数を揃えることを指します。「0埋め」や「ゼロパディング」とも言います。

用途別の記述例

ゼロ埋め

用途 記述例 解説
数値(Integer型)をゼロ埋めする String.format("%03d", new Integer(12)) 指定した数値を3桁でゼロ埋めにします。
数値(String型)をゼロ埋めする String.format("%3s", "12").replace(" ", "0") 指定した数値を3桁でゼロ埋めにします。
数値(Double型)の小数点以下をゼロ埋めする String.format("%.2f", new Double(0.1)) 指定した数値を小数点第2位までゼロ埋めにします。

出力

// String.format("%03d", new Integer(12))
012
// String.format("%3s", "12").replace(" ", "0")
012
// String.format("%.2f", new Double(0.1))
0.10

半角スペース埋め

用途 記述例 解説
数値(Integer型)の先頭を半角スペース埋めする String.format("%3d", new Integer(12)) 指定した数値の先頭を3桁で半角スペース埋めにします。
数値(Integer型)の後ろを半角スペース埋めする String.format("%-3d", new Integer(12)) 指定した数値の後ろを3桁で半角スペース埋めにします。
文字列の先頭を半角スペース埋めする String.format("%5s", "abc") 指定した文字列の先頭を5桁で半角スペース埋めにします。
文字列の後ろを半角スペース埋めする String.format("%-5s", "abc") 指定した文字列の後ろを5桁で半角スペース埋めにします。

出力

// String.format("%3d", new Integer(12))
 12
// String.format("%-3d", new Integer(12))
12 
// String.format("%5s", "abc")
  abc
// String.format("%-5s", "abc")
abc  

カンマ区切り

用途 記述例 解説
数値(Integer型)を3桁毎にカンマ区切りする String.format("%,d", new Integer(123456789)) 指定した数値を3桁でカンマ区切りにします。

出力

// String.format("%,d", new Integer(123456789))
123,456,789

まとめ

String.formatメソッドでゼロ埋め、半角スペース埋めをする方法をまとめました。
会員番号をDBに保持したり、値をAPI仕様に合わせる場合によく見かけます。型によって記述の仕方も異なるので、実装の際は注意しましょう。