はじめに
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仕様に合わせる場合によく見かけます。型によって記述の仕方も異なるので、実装の際は注意しましょう。