我需要在Java.Is中将一个整数值更改为两位十六进制值,有任何方法可以做到这一点。谢谢
我最大的数字是63,最小的数字是0。对于较小的值,我需要一个前导零。
发布于 2013-10-10 22:10:23
String.format("%02X", value);
如果您使用X
而不是x
as suggested by aristar,那么就不需要使用.toUpperCase()
。
发布于 2012-01-01 01:35:18
Integer.toHexString(42);
Javadoc:http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#toHexString(int)
请注意,这可能会给你两个以上的数字,但是!( Integer是4个字节,因此可能会返回8个字符。)
这里有一个小技巧来获得你的填充,只要你绝对确定你只处理单字节的值(255或更小):
Integer.toHexString(0x100 | 42).substring(1)
Left padding integers (non-decimal format) with zeros in Java上有更多(也更好)的解决方案。
发布于 2013-05-23 12:30:44
String.format("%02X", (0xFF & value));
https://stackoverflow.com/questions/8689526
复制相似问题