Ich habe Schwierigkeiten, Buchhaltungssoftware in PHP zu machen. Und ich habe einen Bug von der Schwimmerpräzision. HierPHP: 2258574.18 nicht gleich 2058555.18 + 200019 - 0
ist die Probe Abschaltbetriebsart Code:
$a = (float) 2258574.18;
$b = (float) 2058555.18;
$c = 200019;
$d = 0;
($b+$c-$d == $a) ? $x = "equals" : $x = "!equals";
echo $x;
Ausgänge:
! gleich
Ich benutzte round()
abs()
aber nicht gelöst. Es funktioniert, wenn ich es nur in Int (int)
konvertieren.
Ich bin fast Selbstmord deswegen.
http://php.net/manual/en/language.types.float.php#113703 –
tun 'echo "a: $ ab: $ b" ; 'und Sie werden sehen, wie diese Werte intern gespeichert werden. –
FYI: In der Konsole (js) wird '2058555.18 + 200019' ausgeben' 2258574.1799999997' – Justinas