Wie kann ich eine ganze Zahl mit Nullen auf der linken Seite auffüllen?

Wie füllt man eine "Inte" mit Nullen auf, wenn man sie in eine "Zeichenkette" in Java konvertiert?

I'm im Grunde suchen, um aufzufüllen, Ganzzahlen bis zu "9999" mit führenden Nullen (z. B. 1 = "0001").

Lösung

Verwenden Sie java.lang.String.format(String,Object...) wie folgt:

String.format("%05d", yournumber);

für Null-Padding mit einer Länge von 5. Für die hexadezimale Ausgabe ersetzen Sie das d durch ein x wie in "%05x".

Die vollständigen Formatierungsoptionen sind als Teil von java.util.Formatter dokumentiert.

Kommentare (11)

Wenn Sie aus irgendeinem Grund Java vor Version 1.5 verwenden, können Sie es mit der Apache Commons Lang Methode versuchen

org.apache.commons.lang.StringUtils.leftPad(String str, int size, '0')
Kommentare (0)

Habe dieses Beispiel gefunden... Werde es testen...

import java.text.DecimalFormat;
class TestingAndQualityAssuranceDepartment
{
    public static void main(String [] args)
    {
        int x=1;
        DecimalFormat df = new DecimalFormat("00");
        System.out.println(df.format(x));
    }
}

Habe dies getestet und:

String.format("%05d",number);

Beide funktionieren, für meine Zwecke ist String.Format besser und prägnanter.

Kommentare (4)