Bearbeiten und Vergleichen von Gleitkommawerten in Java
In Java wird die Gleitkomma-Arithmetik nicht genau dargestellt. Zum Beispiel dieser Java-Code:
float a = 1.2;
float b= 3.0;
float c = a * b;
if(c == 3.6){
System.out.println("c is 3.6");
}
else {
System.out.println("c is not 3.6");
}
Prints "c ist nicht 3.6".
Präzision über 3 Dezimalstellen (#. ###) interessiert mich nicht. Wie kann ich mit diesem Problem umgehen, um Floats zu multiplizieren und zuverlässig zu vergleichen?