java十六进制到int转换 - 必须删除0X?

时间:2013-09-27 00:17:04

标签: java input integer hex

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

1 个答案:

答案 0 :(得分:8)

你可以做到

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

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