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.3;
则会提示不能将double转化成float 这成为窄型转化
如果要用float来修饰的话,则应该使用float a=1.3f
注意float是8位有效数字,第7位数字将会产生四舍五入
所以如果一个float变量 这样定义: float a=1.32344435; 则第7位将产生四舍五入(5及5以下的都将舍去)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-23
百度答案一大堆,都是说float是单精度,double是双精度,然后一堆二进制表示说明,能看懂就看,看不懂就不要看了,我说最重要的一条,工作中开发中这几年,带有小数位数字的都用double定义,没有见过谁用float定义,所以你开发中带小数位的用double定义就OK了,至于float项目开发中确实没人用,
相似回答