当使用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