Moin Basti,
das liegt einfach an der internen Darstellung/Verarbeitung von Gleitkommazahlen.
Probier einfach mal das aus:
Delphi-Quellcode:
var
Wert1 : double;
Wert2 : double;
Wert3 : double;
begin
Wert1 := 11.88;
Wert2 := 6;
Wert3 := 17.88;
ShowMessage(FloatToStr(Wert1+Wert2-Wert3));
end;
Du wirst sehen, dass das Ergebnis exakt Deinem entspricht.
Nimm doch, ersatzweise, mal den Datentyp Currency.
Oder Du rundest, dann müsste auch 0 herauskommen (man beachte die 10 hoch -15)
Ich weiss jetzt nicht, ob
MySQL auch den Datentyp Money kennt, der entspricht allerdings Currency in Delphi.