java中float和double的区别?

float:单精度类型,精度是8位有效数字(其余部分四舍五入),取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间。

double:双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间。

若不声明的,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f
例如:float a=1.63;//会显示错误,正确的写法为float a=1.63f;
则会提示不能将double转化成float 这成为窄型转化

注意float是8位有效数字,第7位数字将会产生四舍五入
所以如果一个float变量 这样定义: float a=1.32344435; 则第7位将产生四舍五入(5及5以下的都将舍去)

一般开发中建议用double 修饰小数

猜你喜欢

转载自blog.csdn.net/u013517229/article/details/89241055
今日推荐