我有一个包含许多十六进制数字的文件(例如-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-以这种方式表示十六进制数并不稀奇...
最佳答案
你可以做
int hex = Integer.decode("0x3b4");
您是正确的,parseInt和parseLong将不接受0x或0X