Integer.parseInt 数字格式异常?

2022-09-01 20:11:26

我觉得我一定错过了一些简单的东西,但我得到了下面的代码:NumberFormatException

System.out.println(Integer.parseInt("howareyou",35))

伊德酮

它可以从基数35转换字符串,我不明白为什么我会在这个字符串上得到一个。yellowNumberFormatException


答案 1

因为结果将大于 Integer.MAX_VALUE

试试这个

System.out.println(Integer.parseInt("yellow", 35));
System.out.println(Long.parseLong("howareyou", 35));

Long.parseLong("abcdefghijklmno",25)

你需要大Integer

试试这个,你就会明白为什么

System.out.println(Long.MAX_VALUE);
System.out.println(new BigInteger("abcdefghijklmno",25));

答案 2

难道这个数字是>?如果我尝试使用您的代码,它可以正常工作。Integer.MAX_VALUELong