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