仅数字[重复]的输入字符串的Java数字格式异常

来源:爱站网时间:2021-09-16编辑:网友分享
java.lang.NumberFormatException上的许多线程在StackOverflow上已经存在。但是,他们似乎都没有回答我的问题。我想将以下字符串转换为整数:...

问题描述


java.lang.NumberFormatException上的许多线程已经在StackOverflow上存在。但是,他们似乎都没有回答我的问题。

我想将以下字符串转换为整数:idString = "10104102103"。我尝试了以下两种方法将其转换为整数

int id = Integer.parseInt(idString);
Integer id = Integer.valueOf(idString);

执行其中任何一个时,出现以下错误:

java.util.concurrent.ExecutionException: java.lang.NumberFormatException: For input string: "10104102103"

在其他线程中,提到有空格,NaN,非数字字符等作为可能发生此错误的原因。但是,这里没有这些情况。

我的问题是:

  • 什么引起此错误?
  • 我如何使它工作?

思路:


导致错误的原因是您要解析的数字10104102103大于maximum possible value for an int2147483647

它在long的范围内,因此可以使用:

long id = Long.parseLong(idString);

但是,如果您的数字过长甚至太大,您将使用任意小数位整数,如here回答。

上一篇:如何通过联接将Spring Data JPA规范查询中的区分和排序结合在一起

下一篇:一种布局中图像的最大尺寸是多少?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载