当我运行此代码时,它会给出NumberFormatException?我如何将A49D43C5这个数字转换为java中的十进制数?
logger.info("Decimal value: " + Integer.parseInt("A49D43C5", 16));
答案 0 :(得分:1)
该数字大于int
(Integer.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);