我有一个包含许多十六进制数字的文件(例如-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

10-08 08:53