According to the data I have there are:
- 52 currencies that have no decimal places
- 239 that have 2 decimal places
- 3 that have 3 decimal places
- 1 that has four decimal places
But you should also consider that some currencies have specific rounding rules for cash values that relate to the physical currency in circulation.
For example, the AUD and CHF have cash rounding to 0.05 but normal rounding to 0.01.
Additionally there is the question as to when to round and to what precision. In a chain of financial transactions it is most common (according to my research, not an formal statement) that rounding is performed only at the end of the chain.
Then if you are splitting up money (like allocating it to various amounts) then rounding has to be handled carefully to ensure that any remainder is taken care of.
Anyway, money handling and its implication in the real world is an interesting problem - but its not just about decimal arithmetic (I am the author of ex_money and suggestions and PRs are always welcome)