at java.lang.NumberFormatException.forInputString(Unknown Source)

当使用String转换成int的时候遇到的问题:

(1)报错信息如下:

Exception in thread "main" java.lang.NumberFormatException: For input string: "520 "
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at shuzu.main(shuzu.java:12)

 

(2)代码如下:

	String s = "520 ";
	int a = Integer.parseInt(s);

 

(3)具体出错原因就是在    int a = Integer.parseInt(s);

    不是因为字符串是数字520,而是因为520后面还有一个空格,这个空格没法转换到int。因此会出现错误,在我代码中也是同样的问题。解决的办法很很简单,只需要去掉其后的空格就可以了

改成如下的形式就不会报错了。

	String s = "520";
	int a = Integer.parseInt(s);

或者可以使用trim()函数即可。(推荐)

String s = "520 ";
int a = Integer.parseInt(s.trim());

NB:该函数的作用是去掉String前后的空格,但是不回去掉中间的空格。

--------------------------------------------------------------------------------------------------------------

如果你的String是中间有空格,也是没有办法进行转换的,比如如下的两行,会报错。这应该是显而易见的

String s = "52 0 ";
int a = Integer.parseInt(s);

--------------------------------------------------------------------------------------------------------------

参考:https://blog.csdn.net/xiaodongvtion/article/details/8835668

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值