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?

Antworten auf die Frage(16)

Ihre Antwort auf die Frage