Javaで数値の先頭にゼロを追加しますか? [重複] 質問する

Javaで数値の先頭にゼロを追加しますか? [重複] 質問する

この結果を得るためのより良い方法はありますか? この関数は、num の桁数が桁数より多い場合は失敗します。ライブラリのどこかにあるべきだと思います (Integer.toString(x,"%3d") など)

static String intToString(int num, int digits) {
    StringBuffer s = new StringBuffer(digits);
    int zeroes = digits - (int) (Math.log(num) / Math.log(10)) - 1; 
    for (int i = 0; i < zeroes; i++) {
        s.append(0);
    }
    return s.append(num).toString();
}

ベストアンサー1

文字列.format (https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#構文

あなたの場合は次のようになります:

String formatted = String.format("%03d", num);
  • 0 - ゼロを埋め込む
  • 3 - 幅を3に設定する

おすすめ記事