So are you storing money as a float or just displaying it rounded to nearest cent?
We're using Decimal type in our PostgreSQL database. Money are displayed in either 2 d.p. or 4 d.p.
There's no rounding in processing of money. Only the displayed value is rounded.
I will change the withdrawal system to display rounded-down money instead. (Since a $99.999 customer shouldn't be able to withdraw $100.00, the system shouldn't display it as $100.00. We will display it as $99.99 instead.)
Not being able to withdraw $100.00 from a $99.9999999999 account is an indication that we don't use float for money.