About 10 years ago or so the USA stock market had issues with trading software using float or decimals that made the companies millions per day by rounding down on payouts by fraction of a cent per transaction.
People have been debating this for decades, but what I do is have a default
Currency stored as an integer. Any calculations are based off of that, or store as integer with another column for the money type(usd, yen etc.) Similar to time stamp issues. You default your timestamps to one time zone or use UNIX time and calculate from there.