java - 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"
解决方案
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);
}
}
}
推荐阅读
- c++ - 我们可以为指针 unsigned char 数组赋值吗?
- javascript - 单击不同的选择元素选项时如何将Mysql数据加载到html选择元素中
- r - 用于循环拆分和合并数据帧不起作用
- c# - 我在手机/平板电脑上的 Unity 项目看起来很糟糕
- typescript - 在 TypeScript 中双重展开嵌套的可变参数元组
- python - 在简单的函数之后我有异常的张量流输出(带有历史记录)?
- javascript - 我正在尝试使用纯javascript计算用户上传的pdf文件的页数
- git - 我可以为文件夹名称创建一个简写,以在 git 中隐藏真实姓名吗?
- go - 使用 aws lambda 运行 golang gin api 项目
- python - Python 请求 - 会话未捕获响应 cookie