关于JAVA中浮点数据类型的问题,float跟double分别能表示多少位?

float跟double说的这个有效位数指的是小数点之前多少位还是小数点之后多少位,在eclipse中,float型小数点之前打了二十位,小数点之后打了二十位都没有报错

浮点数的精度,指所有的有效数字的位数,例如0.123和12.3的有效数字都是三位。
表示范围则用指数的范围来说明,例如10^-37~ 10^38。

你用的什么版本的eclipse?
我用的也不算很新的版本,eclipse自己告警了。

Version: Juno Service Release 1
Build id: 20120920-0800
给出的解决方案有两个:讲常量强制转换为float,或者变量类型换成double。

直接用jdk 1.6编译,提示如下:
ThreadDemo.java:14: 可能损失精度
找到: double
需要: float
float f = 1234567890987654321.1234567890987654321;
^
1 错误
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-12
都是浮点型数据,一个单精度,一个双精度,存储的大小不一样,就像int 和long的区别
你用Float.MAX_VALUE Double.MAX_VALUE看一下就知道了
相似回答