T-Rex: PHP: zwei identische Zahlen vergleichen bringt ein false

Beitrag lesen

Hallo T-Rex,

  	var_dump( 1023.75 );
  	var_dump( 985.95 );
  	var_dump( 1023.75 - 985.95 );
  	var_dump( 1023.75 - 985.95 == 37.8 );

Ausgabe: float(1023.75) float(985.95) float(37.8) bool(false)

Wieso ist 1023.75 - 985.95 für PHP nicht 37.8 ? Sowas hatte ich noch nie ... Ich hab nur noch Fragezeichen über meinem Kopf.

über die Problematik von Fließkommaarithmetik und die damit verbundenen Stolperfallen hat Janosch mal einen ausführlichen Artikel geschrieben.

Make the most of your time
 Martin

hmmm ... der Artikel erklärt einiges. Mich verwundert, wieso ich auf dieses Problem in den letzten 20 Jahren noch nicht einmal gestoßen bin ... naja zumindest nicht in php. In Javascript ist das wieder eine andere Sache :D.

Ich habe es jetzt gelöst in dem ich die Berechnung runde.

Gruß round(!-!!!)