根据这个java.sun页面 ==是Java中浮点数的相等比较运算符.
但是,当我输入以下代码时:
if(sectionID == currentSectionID)
Run Code Online (Sandbox Code Playgroud)
进入我的编辑器并运行静态分析,我得到:"JAVA0078浮点值与==相比"
使用==比较浮点值有什么问题?这样做的正确方法是什么?
我遇到了一个奇怪的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但没有运气.我错过了什么.