2012-12-13 22 views
11

Chcę sformatować int jako ciągi liczb hex. System.out.println(Integer.toHexString(1)); drukuje 1 ale chcę go jako 0x00000001. Jak mogę to zrobić?Jak formatować liczby do strun hex?

+0

możliwe duplikat [Jak uzyskać wartość hex liczby całkowitej w java] (http://stackoverflow.com/questions/5258415/how-to-get-hex-value-from-integer-in-java) – durron597

Odpowiedz

25

Spróbuj

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

Można użyć string.Format sformatować liczbę całkowitą jako ciąg szesnastkowy.

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

Oznacza to, że pad z zer i dokonać całkowitej szerokości 8. 1 przekształca się hex dla Ciebie. Powyższa linia daje: 0x00000001 i

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

daje: 0x000000EA

1

Od formatowania składnia udokumentowane na Java Formatter Klasa:

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

nie wiem Java zbyt głęboko, ale nie musi być jakiś sposób można pad wyjście z funkcja toHexString z „0” do długości 8. Jeśli „0x” będzie zawsze na początku, po prostu przyczepność na tego łańcucha na początku.