2012-12-13 14 views
11

Ich möchte int Zahlen als Hex-Strings formatieren. System.out.println(Integer.toHexString(1)); druckt 1, aber ich möchte es als 0x00000001. Wie mache ich das?Wie formatiert man Zahlen in Hexadezimalstrings?

+0

möglich Duplikat von [So erhalten Sie Hex-Wert von Integer in Java] (http://stackoverflow.com/questions/5258415/how-to-get-hex-value-from-integer-in-java) – durron597

Antwort

25

Versuchen Sie, diese

System.out.println(String.format("0x%08X", 1)); 
13

Sie können String.format verwenden, um eine Ganzzahl als Hexadezimalzeichenfolge zu formatieren.

System.out.println(String.format("0x%08X", 1)); 

Das heißt, Pad mit Nullen, und stellen Sie die Gesamtbreite 8. 1 umgewandelt wird für Sie verhexen. Die obige Zeile gibt: 0x00000001 und

System.out.println(String.format("0x%08X", 234)); 

gibt: 0x000000EA

1

von der Formatierung Syntax dokumentiert auf Java Formatter Klasse:

Integer intObject = Integer.valueOf(1); 
String s = String.format("0x%08x", intObject); 
System.out.println(s); 
0

Ich weiß, dass Java nicht zu eng, aber es muss einen Weg geben Sie Pad kann die Ausgabe von die Funktion "toHexString" mit einer "0" auf eine Länge von 8. Wenn "0x" immer am Anfang steht, heften Sie diese Zeichenfolge an den Anfang.

Verwandte Themen