You can absolutely use doubles for money. Excel does it and so do many other financial tools. There are pros and cons but as long as you do rounding and comparisons correctly it works perfectly fine.
For example 16.10 is not exactly 16.10 in IEEE floating point. When you do enough operations, and depending on the order of operations, you can wind up several cents off. That sounds small, but can be enough to give your auditors heart-burn. COBOL does BCD arithmetic, (not really but at least conceptually), and it's penny accurate to 31 digits (as per the standard - implementations may have greater accuracy). Frankly…
It might not be simple to implement, though. Off the top of my head,
* Can you confidently say that $100>¥10 in an offline environment?
* You'd need to support different bases for splitting units to deal with eldritch values such as farthings.
* Where is the line drawn? Is a Bitcoin a valid currency? A gold Krugerrand? A bundle of stock shares? A bushel of apples?
All of that said, I would love to see a world where I could write code like:
money balance = money.lumber.grade.kilograms(8);