String str2="abc"; double a1=Double.parseDouble(str2); System.out.println("str转换为double型后:"+a1); 编译器并没有报错,但是一运行就会溢出!!!!帮忙解释一下 这样不行的话,将字符串转换为基本类型的意义何在?
double int之类的是表示数字的基本类型,不能表示字母
效果如图:
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处理异常!
abc是字母不是数字
首先我来告诉你不是溢出,是格式转换异常.如果是"1.11"转换为double是没有问题的,但是"abc"用鼻子想想也不会转换成数字类型的基本类型