黑马程序员技术交流社区
标题:
字符串转换为int类型的问题
[打印本页]
作者:
马林康
时间:
2012-6-29 09:36
标题:
字符串转换为int类型的问题
本帖最后由 马林康 于 2012-6-29 10:10 编辑
判断字符串转换为整数是否过大
int i=Integer.parseInt(line);
if(i>Integer.MAX_VALUE)
System.out.println("输入的数字太大");
复制代码
但是问题是 如果过大转换失败无法进行下面代码,请问如何解决?
ok,用try catch吧
作者:
刘笑
时间:
2012-6-29 09:47
加个else不行么
作者:
李天甲
时间:
2012-6-29 09:52
本帖最后由 李天甲 于 2012-6-29 09:54 编辑
int i=Integer.parseInt(line);//这个方法会抛出转换错误,如果数值真大于可转换的范围的话,就会直接抛错,没机会判断下面的条件
if(i>Integer.MAX_VALUE) //这个个人感觉没有必要
最好的办法是try一下...
try{
Integer target=Integer.parseInt(line); //将字符串转换为整数
}catch (Exception e) {
System.out.println("您输的数字范围超过Integer型的范围,无法转换"); //处理转换错误,输出信息
}
作者:
曾_强
时间:
2012-6-29 09:54
通过设置标记位 flag 不知能不能解决您的问题 。
你这样问,没法回答的。
作者:
陆强强
时间:
2012-6-29 10:04
String line="4444444444444";
long i=Long.parseLong(line);
System.out.println(i);
再大的话就抛异常吧,没有更大的类型了
作者:
黄连兵
时间:
2012-6-29 10:40
try{
int i=Integer.parseInt(line);
}catch(NumberFormatException e){
System.out.println("输入的数字太大");
}
你看看API吧,转换失败是会抛出异常的,抓到异常不就可以了?可以先判断这段字符串是不是全由数字组成,是的话再try,出现的异常就是范围过大了呗!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2