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

2025-01-20 16:30:33
推荐回答(2个)
回答1:

浮点数的精度,指所有的有效数字的位数,例如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 错误

回答2:

都是浮点型数据,一个单精度,一个双精度,存储的大小不一样,就像int 和long的区别
你用Float.MAX_VALUE Double.MAX_VALUE看一下就知道了