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

java.lang.NumberFormatException: For input string error while converting hex to decimal

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

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

该数字大于 intInteger.MAX_VALUE 是 231 - 1 或 2147483647)。你可以使用 long 比如

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

输出是

Decimal value: 2761769925

Integer的最大值是2147483647.

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

BigInteger bigInt = new BigInteger(hexString, 16);