首页 > 解决方案 > java.lang.NumberFormatException:对于输入字符串:“”

问题描述

这个问题是重复的,但我找不到合适的解决方案,所以请帮我解决这个问题,

我必须将信用卡号(从edittext)转换为int。信用卡号,例如:“3333 3333 3333 3333”我使用String removeWhiteSpace = cardNumEt.getText().toString().replace(" ", ""); Than 删除了空格,转换为 int,例如:

  try
            {
                int nIntFromET = Integer.parseInt(removeWhiteSpace);
            }
            catch (NumberFormatException e)
            {
               Log.e("exptn",e.toString());
            }

但不幸的是,它给了我例外:

java.lang.NumberFormatException: For input string: "3333333333333333"

标签: javaandroidexceptionnumbers

解决方案


Java 中的 int 类型可用于表示从 -2147483648 到 2147483647 的任何整数。

您的值高于最大正整数。但是你可以使用 long 和 BigInteger

class Scratch {
    public static void main(String[] args) {
        try
        {
            int nIntFromET = Integer.parseInt("2147483647");
        }
        catch (NumberFormatException e)
        {
            System.out.println(e);
        }
    }
}

推荐阅读