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

根据此java.sun页面,它 ==是Java中浮点数的相等比较运算符。

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

if(sectionID == currentSectionID)

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

什么是错的使用==比较浮点值?正确的方法是什么?

回答:

测试浮标“相等”的正确方法是:

if(Math.abs(sectionID - currentSectionID) < epsilon)

其中epsilon是非常小的数字,例如0.00000001,具体取决于所需的精度。

以上是 Java 使用==比较Java中的浮点数有什么问题? 的全部内容, 来源链接: utcz.com/qa/403905.html

回到顶部