java 中float 和double有什么区别,对于赋值来说,求解。谢谢!

如题所述

    float为单精度浮点类型,占4个字节,能表示的数范围小;double为双精度浮点类型,占8个字节,能表示的数范围大。

    对于赋值来说,因为声明浮点数时默认为double类型,所以float需要在数的的后面添加f/F;

    例:

    float a=1.2   //错误

    float a=1.2f  //正确

    float a=1.2F  //正确

    double b=1.2  //正确

    double b=1.2d  //正确

    double b=1.2D   //正确

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-28
两者都能表示小数,但是精度是不一样的,float是单精度,而double是双精度的,在取舍的时候会造成小数不一样。
第2个回答  2019-10-18
float 占4个字节 精度是6位有效数字 取值范围是10的-38次方到10的38次方
double 占8个字节 精度是15位有效数字 取值范围是10的-308次方到10的308次方

赋值时float型变量强制后面用f结尾,float a=6.0f;
注意float是6位有效数字,第7位数字将会产生四舍五入
所以如果一个float变量 这样定义: float a=6.12345675; 则第7位将产生四舍五入(5及5以下的都将舍去)
第3个回答  2019-10-18

    存储范围不一样,一个4字节一个8字节

    精度不一样,大概可以这样理解,同样表示圆周率一个3位小数一个10位小数的样子

相似回答