【问题标题】:Exception in thread "main" java.lang.NumberFormatException: For input string that's not null or empty线程“main”java.lang.NumberFormatException 中的异常:对于非空或非空的输入字符串
【发布时间】:2021-05-19 07:09:37
【问题描述】:

在线程“main”java.lang.NumberFormatException 中获取异常:对于输入字符串:“8801609054”,即使它可以正确读取格式。

我正在使用

Integer.parseInt("8801609054");

这样做。我发现有类似错误的人通常有 null 或空值,但这个有一个值,所以我不确定错误来自哪里。

【问题讨论】:

  • int 类型的字面量 8801609054 超出范围
  • 最大可能的整数是 2147483647
  • 在此处使用 longBigInteger... 替代方案:BigDecimal

标签: java integer


【解决方案1】:

您作为字符串传递的数字太大。允许的最大整数是Integer.MAX_VALUE (2147483647)。也许你应该改用BigDecimal

【讨论】:

    【解决方案2】:

    8801609054 大于 Java 中的最大整数值(原始 int)。你可以和Integer.MAX_VALUE比较,确认一下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 2014-06-07
      相关资源
      最近更新 更多