お疲れ様です。はるさらと申します。
Javaで数値を扱っていると、
「桁数を揃えて0埋めしたい」「文字列として扱いたい」といった場面によく遭遇します。
特に業務システムやファイル出力などでは、
桁を揃えることが必須になることも多いです。
この記事では、Javaで0埋めを行う方法と、文字列⇔数値の変換について、
初心者向けにサンプル付きで解説していきます。
これらの類似記事も参考になるかもしれないので
是非、目を通してみてください♪
0埋めとは?初心者でもわかる基本イメージ
0埋めとは、指定した桁数に満たない部分を「0」で補うことを指します。
例えば次のようなケースです。
7を 3桁にすると →"007"45を 5桁にすると →"00045"
このように揃えることで、見た目やデータ処理の整合性が保ちやすくなります。
業務でよくあるのは「伝票番号」「商品コード」「社員番号」などです。
Javaで0埋めする基本的な方法
まずは一番シンプルな方法から紹介します。
Javaには標準で便利なフォーマットメソッドが用意されています。
サンプル1:String.formatを使った0埋め(基本例)
public class ZeroPaddingExample1 {
public static void main(String[] args) {
int number = 7;
String padded = String.format("%03d", number); // 3桁に0埋め
System.out.println(padded); // 出力: 007
}
}
%03d の意味は「3桁の整数を0で埋める」という指定です。
これが一番覚えやすいので、経験が浅めの方はまずこの方法を使うと良いでしょう。
数値から文字列に変換して0埋めする方法
0埋めは「数値」と「文字列」の扱いを行き来することが多いです。
次は変換を絡めた実務寄りの例を見てみましょう。
サンプル2:社員番号などを生成する(実務利用例)
public class ZeroPaddingExample2 {
public static void main(String[] args) {
int employeeId = 45;
String formattedId = String.format("%05d", employeeId); // 5桁に0埋め
System.out.println("社員番号: " + formattedId); // 出力: 社員番号: 00045
}
}
こうして生成した文字列を、そのままデータベースに保存したり、
帳票に出力したりするのがよくある使い方です。
文字列化した後も、必要があれば再度
Integer.parseInt() で数値に戻すことができます。
代替手法の比較:DecimalFormatやStringUtils
0埋めにはいくつか方法があり、場面によって使い分けが可能です。
サンプル3:DecimalFormatを使う方法
import java.text.DecimalFormat;
public class ZeroPaddingExample3 {
public static void main(String[] args) {
int number = 123;
DecimalFormat df = new DecimalFormat("00000"); // 5桁固定
String result = df.format(number);
System.out.println(result); // 出力: 00123
}
}
DecimalFormatはフォーマットパターンを柔軟に指定できるので、
数値の整形に特化した場面で使いやすいです。
サンプル4:Apache Commons LangのStringUtilsを使う方法
import org.apache.commons.lang3.StringUtils;
public class ZeroPaddingExample4 {
public static void main(String[] args) {
String number = "7";
String padded = StringUtils.leftPad(number, 3, '0');
System.out.println(padded); // 出力: 007
}
}
外部ライブラリですが、文字列全般の整形に強力です。
プロジェクトでCommons Langを導入している場合はこちらも選択肢になります。
0埋めの処理で間違えやすいポイント
実際に書いてみると、ハマりやすいポイントもいくつかあります。
- 数値のままでは0は残らない
例:int num = 007;→ 実際は7と解釈されます。
0埋めを保持したい場合は必ず「文字列」として扱いましょう。 - 桁数を指定し忘れると意味がない
String.format("%d", 7);→"7"のまま。%03dのように桁数をきちんと指定するのが大事です。 - 再変換でエラーになる場合がある
"00045"をInteger.parseInt("00045")すると45に戻ります。
「0埋めは見た目だけ」という点を理解しておくと混乱しません。
まとめ:まずはString.formatから覚えよう
Javaで0埋めをする方法は複数ありますが、
慣れるまでは String.format を最初に覚えるのがおすすめです。
実務では「社員番号」「伝票番号」「商品コード」など、
数値を文字列に変換して桁を揃える場面が多く出てきます。
- 簡単なケース →
String.format - 柔軟な数値フォーマット →
DecimalFormat - 文字列操作全般を広くやりたい →
StringUtils
と使い分ければOKです。
経験の浅い方も、この記事のサンプルコードをコピーして実行することで
理解度が深まると思いますので、
是非、いろいろ試して見て下さい!
どなたかのお役に立てば幸いです。
それではまたー!





































