java.lang.NumberFormatException:用于将十六进制转换为十进制时的输入字符串错误

时间:2015-02-23 02:46:04

标签: java hex decimal decimalformat

当我运行此代码时,它会给出NumberFormatException?我如何将A49D43C5这个数字转换为java中的十进制数?

logger.info("Decimal value: " + Integer.parseInt("A49D43C5", 16)); 

2 个答案:

答案 0 :(得分:1)

该数字大于intInteger.MAX_VALUE是2 31 - 1或2147483647)。您可以使用long之类的

System.out.println("Decimal value: " + Long.parseLong("A49D43C5", 16));

输出

Decimal value: 2761769925

答案 1 :(得分:0)

Integer的最大值为 2147483647

尝试使用BigInteger作为十六进制。

BigInteger bigInt = new BigInteger(hexString, 16);