为了账号安全,请及时绑定邮箱和手机立即绑定

编译器并没有报错,但是一运行就会溢出!!!!帮忙解释一下

String str2="abc"; double a1=Double.parseDouble(str2); System.out.println("str转换为double型后:"+a1); 编译器并没有报错,但是一运行就会溢出!!!!帮忙解释一下 这样不行的话,将字符串转换为基本类型的意义何在?

正在回答

5 回答

double int之类的是表示数字的基本类型,不能表示字母

0 回复 有任何疑惑可以回复我~

效果如图:

http://img1.sycdn.imooc.com//57dd208400016a6607280299.jpg

1 回复 有任何疑惑可以回复我~

abc是16进制的数吗?

如果是,可以这样:

public class HelloWorld {
    public static void main(String[] args) {
		String a = "abc";
		//Integer.parseInt(s, radix) radix设置为10,表示10进制,16表示16进制啦
		int i = Integer.parseInt(a, 16);
		double d = i;
		System.out.println(d);
	}
}

否则,你的转换没有意义,需要try、catch处理异常!

1 回复 有任何疑惑可以回复我~

abc是字母不是数字

0 回复 有任何疑惑可以回复我~

首先我来告诉你不是溢出,是格式转换异常.如果是"1.11"转换为double是没有问题的,但是"abc"用鼻子想想也不会转换成数字类型的基本类型

0 回复 有任何疑惑可以回复我~
#1

Chengl 提问者

好吧 你用鼻子回答问题的
2016-08-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

编译器并没有报错,但是一运行就会溢出!!!!帮忙解释一下

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信