1. ホーム
  2. java

[解決済み] Javaで数値に先頭の0を追加する?[重複)。

2022-03-19 03:43:24

質問

この結果を得るための良い方法はないでしょうか?この関数は 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();
}

解決方法は?

文字列.書式( https://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax )

あなたの場合、そうなります。

String formatted = String.format("%03d", num);

  • 0 - ゼロで埋め尽くします
  • 3 - 幅を 3 に設定します。