Hallo nochmal,
jetzt habe ich ein Problem, das vielleicht keines ist, ich den berühmten Wald nicht sehe oder meine Datenbank spinnt (das wohl eher nicht...) ;-)
Folgende Ausgangslage:
Ich habe eine Tabelle in der wird ein Umsatz gespeichert. Diese Spalte mit Namen "amount" ist vom Typ Float, da es ja eine Fließkommazahl sein muss.
Auf der einen Seite gibt es in PHP einen SQL Aufruf, der mir Umsatz zubucht und die bereits errechnete Zahl auf zwei Stellen rundet.
Diese da lautet:
$q_sql = "UPDATE user SET amount=amount+".round($tprice_net, 2)." WHERE usr='".$USER["KDNR"]."'";
in einem von mir gewählten Beispiel und mittels echo Ausgabe kontrolliert wird dem amount "0" die gerundete Variable $tprice_net (in dem Fall 106.13) dazuaddiert.
Klappt prima, man glaubt es kaum, direkt in phpMyAdmin kontrolliert steht 106.13 in der Spalte. *freu
Jetzt eine andere Stelle, diese zieht wiederum Umsatz ab. Steht eigentlich dasgleiche drin, nur halt Minus statt plus, sieht dann so aus:
$q_sql = "UPDATE user SET amount=amount-".round($tprice_net, 2)." WHERE usr='".$usrnr."'";
Sieht logisch und einfach aus, ist es aber jetzt nicht mehr. :-(
Nachdem der Befehl ausgeführt wurde hat die Datenbank auch was abgezogen (es sind noch immer gemäß kontrollierter Bildschirmausgabe 106.13), ABER was da rauskommt ist:
-2,74658e-06 (ähm ist noch gleich sowas wie -0,000000274... usw, jedenfalls knapp dran an Null, was eigentlich rauskommen sollte, aber eben doch vorbei)
Was soll mir das jetzt sagen, was mache ich falsch? Kann man in SQL so nicht rechnen lassen?
Danke schonmal vorab.
Gruß
Doc