What data type should you use for money in Java?
Java has Currency class that represents the ISO 4217 currency codes. BigDecimal is the best type for representing currency decimal values.
Currency
BigDecimal
Joda Money has provided a library to represent money.