十六进制数字的NumberFormatException

时间:2014-03-13 19:55:42

标签: java hex numberformatexception

在我的代码中我有

int i = Integer.parseInt("f8004896",16);

当我运行该程序时,它会抛出NumberFormatException

java.lang.NumberFormatException: For input string: "f8004896"

我做错了什么?这似乎相对简单,但不起作用。

2 个答案:

答案 0 :(得分:3)

long i = Long.parseLong("f8004896", 16);
System.out.println(i);
System.out.println(Integer.MAX_VALUE);

输出:

4160768150
2147483647

答案 1 :(得分:1)

f8004896的十进制值为4160768150,且大于2 ^ 31-1(int类型的上限)。因此,您应该使用long代替Long.parseLong()