java中float和double的区别?

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-05 06:54:51

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 修饰小数

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!