Joda-Money provides a library of classes to store amounts of money.

Joda-Money does not provide monetary algorithms beyond the most basic and obvious. This is because the requirements for these algorithms vary widely between domains. This library is intended to act as the base layer, providing classes that should be in the JDK.

As a flavour of Joda-Money, here's some example code:

 // create a monetary value
 Money money = Money.parse("USD 23.87");

 // add another amount with safe double conversion
 CurrencyUnit usd = CurrencyUnit.of("USD");
 money =, 12.43d));