相关疑难解决方法(0)

使用==比较Java中的浮点数有什么问题?

根据这个java.sun页面 ==是Java中浮点数的相等比较运算符.

但是,当我输入以下代码时:

if(sectionID == currentSectionID)
Run Code Online (Sandbox Code Playgroud)

进入我的编辑器并运行静态分析,我得到:"JAVA0078浮点值与==相比"

使用==比较浮点值有什么问题?这样做的正确方法是什么? 

java equality floating-accuracy

170
推荐指数
10
解决办法
15万
查看次数

比较Java中的float和double原语

我遇到了一个奇怪的Java角落.(这对我来说似乎很奇怪)

double dd = 3.5;          
float ff = 3.5f;
System.out.println(dd==ff);   
Run Code Online (Sandbox Code Playgroud)

o/p:是的

double dd = 3.2;
float ff = 3.2f;
System.out.println(dd==ff);
Run Code Online (Sandbox Code Playgroud)

o/p:false

我观察到,如果我们比较任何两个值(如我在示例中提到的浮点数和双精度数)和.5OR,.0如3.5,234.5,645.0那么输出true即两个值相等,否则输出是false等于.

即使我试图制造方法strictfp但没有运气.我错过了什么.

java primitive operators

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

equality ×1

floating-accuracy ×1

operators ×1

primitive ×1