Using the “==” Operator with Double or Float

Using the “==” Operator with Double or Float

for (float f = 10f; f!=0; f-=0.1){   System.out.println(f);}

The code above causes an endless loop, it doesn’t act as expected, because 0.1 is an infinite binary decimal and f will never be exactly 0. Normally, you should never compare float or double values with the equality operator “==”, you should always use less than or greater than. Java compilers should be changed to issue a warning in that case. Or even make “==” an illegal operation for floating point types in the Java Language Spec.

for (float f=10f; f0; f-=0.1){      System.out.println(f);}


Share the Post: