MENU

【Java】String.formatを使って文字列を0埋めする方法

f:id:kiserukun:20210611090227p:plain

0埋めする方法

「0埋めする」とは・・・
例えば「商品番号:3」というものを「商品番号:0003」 という形に処理することです。

書き方

いろいろな方法があるみたいですが 今回、自分が使った形を紹介します。

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

もともと「3」という表示だったものを「0003」とするには

%04d

と書きます。

サンプル

実際に使ってみました。

class Main{
    public static void main(String args[]){
        int a = 3;
        
        String b = String.format("%04d",a);
        
        System.out.println(b);
    }
>0003

全体で4桁の数になり、足りない桁は0で埋められています。

とりあえず実行してみた

%04d → %014d

>00000000000003

%04d → %14d

>             3

%04d → %04

>Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '0'

以上のような結果が得られました。

あとがき

String.formatはまだ一度しか使っていませんが、今後とも出てきそうなので 勉強しておいて損はないと思っています。