整数转换为Java中的两位hex数字

我需要在Java中将整数值更改为2位hex值。有没有办法做到这一点。 谢谢

我最大的数字是63,最小的将是0.我想要一个小值的前导零。

String.format("%02X", value); 

如果你使用X而不是aristar所build议的 ,那么你不需要使用.toUpperCase()

 Integer.toHexString(42); 

Javadoc: http : //docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#toHexString(int)

请注意,这可能会给你两个以上的数字,但是! (整数是4个字节,所以你可能会得到8个字符。)

只要你确定你只处理单字节的值(255或更小),那么这里有一些小技巧来获得你的填充:

 Integer.toHexString(0x100 | 42).substring(1) 

在左填充整数(非十进制格式)和Java中的零的许多(和更好的)解决scheme。

 String.format("%02X", (0xFF & value)); 

使用Integer.toHexString() 。 不要忘记填写一个前导零,如果你只有一个数字结束。 如果你的整数大于255,你会得到2位以上的数字。

 StringBuilder sb = new StringBuilder(); sb.append(Integer.toHexString(myInt)); if (sb.length() < 2) { sb.insert(0, '0'); // pad with leading zero if needed } String hex = sb.toString(); 

如果你只是需要打印他们试试这个:

 for(int a = 0; a < 255; a++){ if( a % 16 == 0){ System.out.println(); } System.out.printf("%02x ", a); } 

按'hex'我假设你的意思是一串hex字符,你可以使用Integer.toHexString(50)。 显然,如果你的整数大于255,你将不会有一个2位hex值。