it-swarm.com.de

Wie formatiere ich Zahlen in Hex-Strings?

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?

16

Versuche dies

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

Sie können das String.format verwenden, um eine Ganzzahl als Hex-String zu formatieren.

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

Füllen Sie also mit Nullen auf und machen Sie die Gesamtbreite 8. Die 1 wird für Sie in Hex umgewandelt. Die obige Zeile gibt an: 0x00000001 und 

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

gibt: 0x000000EA

19

Aus der Formatierungssyntax, die in Javas Formatter class dokumentiert ist:

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

Ich kenne Java nicht zu genau, aber es muss eine Möglichkeit geben, die Ausgabe der toHexString-Funktion mit einer '0' auf eine Länge von 8 aufzufüllen. Wenn "0x" immer am Anfang steht, packen Sie das an Zeichenfolge an den Anfang.

1
esteban

Sie können eine Java.util.Formatter oder die printf-Methode auf einem PrintStream verwenden.

0
Stephen P