Bei 4,97 stimmt es, weil dabei keinerlei Ein-Cent-Stück ausbezahlt werden. War schon ein Wink mit dem Zaunpfahl, wo das Problem liegt, oder?
--EDIT
Noch ein Tipp: Gleitkommazahlen sollte man
nie mit "=" vergleichen (also z.B. [delphi]a = 0.01[/delphi)),
hier steht warum. Daher mein Tipp: Rechene mit Cent-Beträgen, wodurch du auf Real verzichten und Integer (oder besser Cardinal) nutzen kannst. Integer bzw. Real haben nicht dieses "Ungenauigkeitsproblem" und somit kann man ohne Probleme mit "=" arbeiten.
Wenn du dennoch mit Real-Werten arbeiten willst, dann schau dir mal die CompareValue-Methoden an. Vielleicht musst du dazu die
Math-
Unit einbinden.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)