Brett vorm Kopf. Finde den Fehler nicht.
bearbeitet von
Hallo Joachim,
man kann das Problem noch einfacher darstellen.
~~~php
echo (42.01 + 146.17 <=> 188.18) . "<br>";
echo (42.01 + 146.18 <=> 188.19) . "<br>";
echo (42.02 + 146.18 <=> 188.20) . "<br>";
~~~
Ergibt
~~~
-1
0
1
~~~
Grund: Der Datentyp float kann Integerzahlen im Bereich der Mantissenlänge jederzeit korrekt darstellen. Sobald Nachkommazahlen ins Spiel kommen, wird es schwierig, weil [IEEE 754] ein binäres Format ist.
[Janosch war dazu im Wiki sehr fleißig](https://wiki.selfhtml.org/wiki/Programmiertechnik/Rechnerarithmetik)
_Rolf_
--
sumpsi - posui - obstruxi