【发布时间】:2021-09-16 18:18:15
【问题描述】:
问题是重复的,但我找不到合适的解决方案,所以请帮我解决这个问题,
我必须将信用卡号(从edittext)转换为int。
信用卡号码如:“3333 3333 3333 3333”
我使用String removeWhiteSpace = cardNumEt.getText().toString().replace(" ", ""); 删除了空格
比转换成 int 像:
try
{
int nIntFromET = Integer.parseInt(removeWhiteSpace);
}
catch (NumberFormatException e)
{
Log.e("exptn",e.toString());
}
但不幸的是它给了我例外:
java.lang.NumberFormatException: For input string: "3333333333333333"
【问题讨论】:
-
您的号码太大,无法解析为
int,请使用long -
我无法向服务器发送长值。 @jAC
-
那么你需要做一些事情来改变你不能在你的服务器上使用
long的事实。信用卡号根本不适合int。也许您可以使用String。 -
你的服务员好像搞砸了。信用卡号应该是一个字符串,而不是一个整数。如果要对其执行一些数学运算,我们通常取整数值。只需将类型更改为 String 。
标签: java android exception numbers