Die Rundung von PHP 8.4 führt zu einem anderen Ergebnis als 8.2Php

PHP-Programmierer chatten hier
Anonymous
 Die Rundung von PHP 8.4 führt zu einem anderen Ergebnis als 8.2

Post by Anonymous »

Ich bin gerade dabei, unseren Code von PHP 8.2 auf 8.4 zu aktualisieren
Mir ist aufgefallen, dass wir einige Testfehler bekommen, weil „round()“ andere Werte zurückgibt als erwartet. Letztendlich könnte das Problem darauf zurückzuführen sein, dass das Runden des Ergebnisses bestimmter Multiplikationen in einigen Fällen zu anderen Ergebnissen führt als unter 8.2. Zum Beispiel ergibt „round(365 * 0.7)“ jetzt 255, während es in 8.2 256 ergibt.
Sie können den Unterschied hier sehen:
https://3v4l.org/iT6T2#v8.4.14
In beiden Versionen beträgt das Ergebnis anscheinend 365 * 0,7 255.49999999999997, also muss das Problem an der Round() liegen.
Ich verstehe nicht, warum das passiert, kann mich jemand aufklären?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post