2012-12-13 26 views
11

Int sayılarını onaltılık dize olarak biçimlendirmek istiyorum. System.out.println(Integer.toHexString(1));, 1 numaralı resmi yazdırır, ancak bunu 0x00000001 olarak istiyorum. Bunu nasıl yaparım?Sayılar altı çizgilere nasıl biçimlendirilir?

+0

olası yinelemesi [java'daki tam sayıdan nasıl hex değeri elde edilir] (http://stackoverflow.com/questions/5258415/how-to-get-hex-value-from-integer-in-java) – durron597

cevap

25

sözdizimi Java'nın Formatter sınıfına belgelenmiş biçimlendirmeyi itibaren bu

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

Bir tamsayı onaltılık dize olarak biçimlendirmek için String.format kullanabilirsiniz. sıfırlarla ped olup, toplam genişliği 8. 1 yapmak

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

size hex dönüştürülür. Yukarıdaki satır verir: 0x00000001 ve

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

verir: 0x000000EA

0

Bir PrintStream üzerinde java.util.Formatter veya the printf method bir kullanabilir.

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

deneyin toHexString işlevi, 8 uzunluğunda bir '0' ile çalışır. Eğer "0x" her zaman başlangıçta olacaksa, sadece o dizeyi baştan sona yapıştırır.

0

ben de yakından Java bilmiyorum ama ped çıkışını öğrenebileceğinden bir yolu olmalı:

İlgili konular