今天做Excel导入时有一个计算公式,需要判断出字符串“2/3”的时候计算公式,由于马虎忘记判断了,以致于代码中:
Double.parseDouble(courseTyCal);//courseTyCal = "2/3";报错了
报java.lang.NumberFormatException的错误,错误原因在上面代码也体现出来了,用字符串去转换成double类型本来是可以转换的,但是前提字符串是数字啊。这一个2/3根本是转换不出什么的。。
最后,写一下Java基本类型之间的转换规则:
1.除了boolean外,其他类型可以自由转换。
2.容量小的类型自动转换成容量到的类型。
3.容量由小到大依次为:byte<short<char<int<long<float<double
4.byte、short、char之间不会转换,运算时都转成int
5.容量大的数据类型转换成容量小的数据类型时需要加强制转换符,但会损失精度或溢出。
6.多种数据类型运算时,系统先将所有数据类型转换成容量大最大的数据类型再进行转换。