8 Stimmen

Format String wird zu xxx1, xx10 oder 1###, 10## usw.

Ich habe folgende Zahlen: 1, 2, 3, 4, 10

Aber ich möchte diese Zahlen so drucken:

0001
0002
0003
0004
0010

Ich habe in Google gesucht. das Stichwort ist Zahlenformat. Aber ich habe nichts, ich bekomme nur, Format Dezimal so Arsch 1,000,000.00 . Ich hoffe, Sie können mir eine Referenz vorschlagen oder mir etwas geben, um dieses Problem zu lösen.

Gracias

Bearbeiten, wir können NumberFormat oder String.format("%4d", somevalue) verwenden; aber es ist nur zum Hinzufügen 0 Zeichen vor der ganzen Zahl. Wenn ich ein Zeichen verwenden möchte, wie x , # oder vielleicht whitespace . So wird der Charakter: xxxx1 xxx10 o ####1 ###10 o 1#### 10###

13voto

Michael Punkte 34127
NumberFormat nf = new DecimalFormat("0000");
System.out.println(nf.format(10));

Es wird "0010" gedruckt.

7voto

BoxOfNotGoodery Punkte 977

Werfen Sie einen Blick auf diese

Sie wollen Ihr Ergebnis "aufpolstern".
z.B.. String.format("%04d", myValue) ;

4voto

Martijn Courteaux Punkte 65602

Sie können verwenden String.format();

public static String addLeadingZeroes(int size, int value)
{
    return String.format("%0"+size+"d", value);
}

Also in Ihrer Situation:

System.out.println(addLeadingZeroes(4, 75));

druckt

0075

0voto

Peter Lawrey Punkte 511323

Für eine perverse Antwort.

int i = 10;
System.out.println((50000 + i + "").substring(1));

druckt

0010

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