What's wrong with using == to compare floats in Java?
equality, floating-accuracy, java
Solution
the correct way to test floats for 'equality' is:
if(Math.abs(sectionID - currentSectionID) < epsilon)
where epsilon is a very small number like 0.00000001, depending on the desired precision.
Problem
According to this java.sun page `==` is the equality comparison operator for floating point numbers in Java. However, when I type this code: ``` if(sectionID == currentSectionID) ``` into my editor and run static analysis, I get: "JAVA0078 Floating point values compared with ==" What is wrong with using `==` to compare floating point values? What is the correct way to do it?