【发布时间】:2014-12-15 00:50:55
【问题描述】:
您好,我想从十六进制字符串中获取精确的整数值。
我的问题是我有一个整数值-25,它的十六进制字符串是“E7”
但是当我使用
转换 -25public static String toHexString(int i) {
String hexString = Integer.toHexString(i);
if (hexString.length() % 2 != 0) {
hexString = "0" + hexString;
}
return hexString.toUpperCase();
}
上述函数返回“FFFFE7”
当我使用
将其转换为231 的十进制值时
int len =Integer.parseInt(Hex,16);
我收到错误“Invalid Int”
但是当我手动将其转换为整数值时
int len =Integer.parseInt("E7",16);
我得到的结果是 231。
那么谁能告诉我如何通过传递整个十六进制字符串来获得精确的整数??
因为我的十六进制字符串是动态的,所以我无法修复它。
【问题讨论】:
-
-25 十六进制仅是 FFFFE7 ......所以你的程序是正确的。检查它binaryhexconverter.com/decimal-to-hex-converter