Willkommen zum guten alten, immer wieder aktuellen Thema: Ungenauigkeit von Floats *herunterbet*
Dazu findest du in der
DP reichlich Lesestoff
Edit: Delphi konvertiert bei Vergleichen übrigens immer in den größeren der beiden verglichenen Typen, so dass hier zwei Floats, und keine zwei Currencies verglichen werden.
Vergleich Double ist z.B. prima zum suchen.
Edit2: Im Grunde hast du also schon deine Genauigkeit kompromitiert, sobald du auch nur ein Mal Currency mit einem Floating Point Typen mischst, ausser du weisst ganz genau was da passiert, und fummelst manuell wieder alles zurecht. Aber an sich gilt: Entweder Fixpunkt, ODER Gleitkomma.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)