在Java中解析大十六进制数

时间:2011-08-12 10:29:20

标签: java string numbers

我正在尝试使用int解析String Integer.parseInt(String string, int radix)我的代码(例如FF00FF00)中的十六进制数,但总是得到NumberFormatException。如果我在没有最后两个数字(FF00FF)的情况下解析数字,那么效果很好。

是否有任何方法可以解析Java中的大数字?

2 个答案:

答案 0 :(得分:14)

如果整数太小,请使用Long

Long.parseLong(string, 16)

如果Long仍然太小,请使用BigInteger

new BigInteger(string, 16)

答案 1 :(得分:2)

我会使用Long.parseLong(x, 16) BigInteger对于32位值来说是过度杀伤。

如果您希望此值为int值,则可以转换结果。

int x = (int) Long.parseLong("FF00FF00", 16);