我正在尝试将十六进制字符串转换为整数,但无论我如何尝试,我都会不断收到 java.lang.NumberFormatException: For input string: "0xE0030000"。 我在代码中使用以下模式:
String ecuPattern ="(\\s*)(ECU_ADDRESS )(0xE0\\d*\\w*\\d*)";
if(mt.find()){
String stringNumber = mt.group(3);
long number = Long.parseLong(stringNumber, 16);
你能告诉我我错过了什么吗?预先感谢您!
最佳答案
您的代码似乎不完整,但根据您的异常消息,Long.parseLong 的输入应该是“E0030000”而不是“0xE0030000”。
public static void main(String[] args){
String hex="E0030000";
Long decimal=Long.parseLong(hex,16);
System.out.println(decimal);
}
输出:3758292992
关于java - 在 Java 中将十六进制字符串转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54950048/