Integert.valueOf报错NumberFormatException异常问题

问题描述
在使用Integert.valueOf(String str)解析String中的数值转换Integer时报错

Integer.valueOf("1234567891234");

java.lang.NumberFormatException: For input string: "1234567891234"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:***)
at java.lang.Integer.parseInt(Integer.java:***)
at java.lang.Integer.valueOf(Integer.java:***)

解决方法
1、字符串中的数值要在Integer取值范围 -2,147,483,648 到 2147483647范围内,字符串的数值超出这个范围,使用Long类型,使用Long.parseLong() 方法解析更长范围的整数值
2、实际订单业务中可考虑直接使用String类型
3、字符串包含非数字字符,使用replaceAll()方法替换字符串所有匹配给定的非非数字字符

"A1234567891234".replaceAll("\\D", "");

replaceAll语法

String replaceAll(String regex, String replacement);

参数
regex -- 匹配此字符串的正则表达式。
newChar -- 用来替换每个匹配项的字符串。

返回值
成功则返回替换的字符串,失败则返回原始字符串。

表达式
表示数字  "\\d"、"[\\d]"、"[0-9]"

java数据类型     字节  表示范围

byte(字节型)     1  -128~127 
short(短整型)    2  -32768~32767 
int(整型)        4  -2147483648~2147483647 
long(长整型)     8  -9223372036854775808 ~ 9223372036854775807 
float(浮点型)    4  -3.4E38~3.4E38 
double(双精度型) 8  -1.7E308~1.7E308 
char(字符型)     2  从字符型对应的整型数来划分,其表示范围是0~65535 
boolean(布尔型)  1  true或false

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值