将int转换为十六进制字符串
问题描述:
我有一个int数字1238,当我转换为具有Integer.toHexString函数的十六进制字符串时,它会返回我4d6。有没有任何可能的方式,我可以格式化,所以它会返回我04d6?如果您可以为一般情况提供解决方案,而不是此特定情况,那将是非常好的。 谢谢。将int转换为十六进制字符串
答
这将是巨大的,如果你能提供一般的情况下的解决方案,而不是 这种特殊情况下
这是一个快速解决方案,将在案件中添加左侧0十六进制字符串长度不)2.
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();
的哪些错误的倍数与触发 “0” + Integer.toHexString(?准确地说:我建议使用“0x”作为前缀 - “0”通常是OCTAL数字的前缀;不是六角形。 – GhostCat 2015-03-31 13:39:37
这是一个很好的问题,可以用作学习体验。自己解决。 (有大约20种不同的方式来处理它,所以它不应该太难找到一个。) – 2015-03-31 13:40:29
这篇文章演示了如何做到这一点2位:http://stackoverflow.com/questions/8689526/integer-to -two-digits-hex-in-java这很容易扩展到4位 – 2015-03-31 13:51:53