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

来源:3-4 Java 中基本类型和字符串之间的转换

Chengl

2016-08-14 18:14

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

写回答 关注

5回答

  • 紫铃听风
    2016-09-26 00:27:47

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

  • sunjunee
    2016-09-17 18:53:09

    效果如图:

    http://img.mukewang.com/57dd208400016a6607280299.jpg

  • sunjunee
    2016-09-17 18:50:35

    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处理异常!

  • 星星丨点灯
    2016-08-14 20:27:26

    abc是字母不是数字

  • 星星丨点灯
    2016-08-14 20:26:33

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

    Chengl

    好吧 你用鼻子回答问题的

    2016-08-14 22:38:52

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题