5

我有一个包含许多十六进制数字的文件(例如 - 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 - 以这种方式表示十六进制编号并不罕见......

4

1 回答 1

8

你可以做

int hex = Integer.decode("0x3b4");

你是对的 parseInt 和 parseLong 不会接受 0x 或 0X

于 2013-09-27T00:17:38.337 回答