A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jagon 中级黑马   /  2014-3-15 12:54  /  909 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请帮忙看看,怎么回事?

截图02.jpg (98.15 KB, 下载次数: 7)

截图02.jpg

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

6 个回复

正序浏览
你字符串里面包含了非整型的“a” ,Integer.parseInt(str) 是可以把字符串变成整型,但是字符串里必须是整型的。如你所说,举个例子:
如果str="1.25",那么 int result =Integer.parseInt(str);同样也会报错,这时我们可以用这个转换:Double.parseDouble(str);  
Integer.parseInt()并不是万能的,str里面的类型和你转换的类型要一致。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
我不知道你为什么做这种装换,如果是为了比较什么的,完全可以使用字符串的本身的方法compareTo(),没必要做这种装换,实用意义不大
回复 使用道具 举报
本帖最后由 郝大龙0104 于 2014-3-15 14:12 编辑

字符串转成 基本数据类型时, 转换的参数必须符合 基本数据类型的格式    不知道你你转换的是什么类型的数据  
下面是api提供的方法

[size=-1]static int
parseInt(String s)
          将字符串参数作为有符号的十进制整数进行解析。



[size=-1]static int
parseInt(String s, int radix)
          使用第二个参数指定的基数,将字符串参数解析为有符号的整数。


示例:
parseInt("0", 10) 返回 0
parseInt("473", 10) 返回 473
parseInt("-0", 10) 返回 0
parseInt("-FF", 16) 返回 -255
parseInt("1100110", 2) 返回 102
parseInt("2147483647", 10) 返回 2147483647
parseInt("-2147483648", 10) 返回 -2147483648
parseInt("2147483648", 10) 抛出 NumberFormatException
parseInt("99", 8) 抛出 NumberFormatException
parseInt("Kona", 10) 抛出 NumberFormatException
parseInt("Kona", 27) 返回 411787

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
字母不可以int类型

此方法可以用来判断字符串中是否有字母....蛮有用的!
回复 使用道具 举报
如果是十六进制,用Integer.parseInt()的重载方法,你把改成Integer.parseInt(str,16);
回复 使用道具 举报
将字符串类型转成基本类型包装类,必须是数字类型的字符串或者字母型的字符串,不能既有数字又有字母。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马