1242 Stimmen

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

Wie kann man ein linkes Pad int mit Nullen bei der Umwandlung in eine String in Java?

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

1voto

Jobin Punkte 5104

Sie müssen einen Formatter verwenden, der folgende Code verwendet ZahlenFormat

    int inputNo = 1;
    NumberFormat nf = NumberFormat.getInstance();
    nf.setMaximumIntegerDigits(4);
    nf.setMinimumIntegerDigits(4);
    nf.setGroupingUsed(false);

    System.out.println("Formatted Integer : " + nf.format(inputNo));

Ausgang: 0001

1voto

Shomu Punkte 2239

Verwenden Sie die Klasse DecimalFormat, etwa so:

NumberFormat formatter = new DecimalFormat("0000"); //i use 4 Zero but you can also another number
System.out.println("OUTPUT : "+formatter.format(811)); 

OUTPUT : 0000811

0voto

Fathah Rehman P Punkte 7871

Prüfen Sie meinen Code, der für Integer und String funktioniert.

Nehmen wir an, unsere erste Zahl ist 2 und wir wollen Nullen hinzufügen, damit die Länge der endgültigen Zeichenkette 4 beträgt. Dafür können Sie folgenden Code verwenden

    int number=2;
    int requiredLengthAfterPadding=4;
    String resultString=Integer.toString(number);
    int inputStringLengh=resultString.length();
    int diff=requiredLengthAfterPadding-inputStringLengh;
    if(inputStringLengh<requiredLengthAfterPadding)
    {
        resultString=new String(new char[diff]).replace("\0", "0")+number;
    }        
    System.out.println(resultString);

0voto

Pirate Punkte 2526

So können Sie eine führende 0 an Ihre Zeichenkette anhängen. Definieren Sie eine Zeichenfolge, die die maximale Länge der gewünschten Zeichenfolge darstellt. In meinem Fall brauche ich eine Zeichenkette, die nur 9 Zeichen lang sein wird.

String d = "602939";
d = "000000000".substring(0, (9-d.length())) + d;
System.out.println(d);

Ausgabe : 000602939

-1voto

Dr Adams Punkte 269

Verwenden Sie diese einfache Erweiterungsfunktion

fun Int.padZero(): String {
    return if (this < 10) {
        "0$this"
    } else {
        this.toString()
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X