我的int数为1238,当我用Integer.toHexString函数转换为十六进制字符串时,它会返回4d6。有什么方法可以格式化,所以它会返回04d6吗?如果你能为一般案例提供解决方案,那就太好了,而不是这个具体案例。 谢谢。
答案 0 :(得分:2)
如果您能为一般案例提供解决方案,那将会很棒 这个具体案例
这是一个快速解决方案,在十六进制字符串长度不是2的倍数的情况下将添加左0。
StringBuilder sb = new StringBuilder();
sb.append(Integer.toHexString(myInt));
if (sb.length() % 2 > 0) {
sb.insert(0, '0'); // pad with leading zero if needed
}
String hex = sb.toString();
答案 1 :(得分:1)
System.out.println(String.format("%04x",1238)); -> "04d6"
System.out.println(String.format("%#04x",1238)); -> "0x4d6"