我有一个包含许多十六进制数的文件(例如 - 0X3B4)。我试图解析这个文件,将这些数字分配给整数,但似乎没有让Integer.parseInt工作。
int testint = Integer.parseInt("3B4",16); <- WORKS
int testint = Integer.parseInt("0X3B4",16);
给出错误:
Exception in thread "main" java.lang.NumberFormatException: For input string: "0x3b4"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
将值0XB4分配给int的正确方法是什么?
我有来摆脱0X - 以这种方式代表十六进制并不奇怪......
答案 0 :(得分:8)
你可以做到
int hex = Integer.decode("0x3b4");
你是对的,parseInt和parseLong不接受0x或0X