java报错java.lang.NumberFormatException: For input string: "18888888899"

java报错java.lang.NumberFormatException: For input string: “18888888899”

在这里插入图片描述

Integer phonelength =Integer.parseInt(phone);
将字符串为18888888899 失败。

一开始觉得是长度不够,就去数据库加长度,还是报这个错误。
网上搜的解决错误的方法,都解决不了。虽然是一样的报错。
然后把字符串的11位,改成8位。就不报错。但是电话号码是11位的。
https://www.cnblogs.com/heyboom/p/9083556.html;可以借鉴一下这篇文章。
我们再来看看mysql数据库
在这里插入图片描述
在这里插入图片描述

点击一下刷新,神奇的事情发生了18888888888变成了2147483647
Integer 的最大就是214783647.超过范围就转换不了。

在一开始在mysql,出现这样情况。也是一脸懵。之后就不管了,到项目新增数据,转换string类型转成Integer类型报错。

解决的方法:在mysql数据的这个字段改成nvchar类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值