**Use BigDecimal, int, or long for monetary calculations instead of float and double types**

Advantages of using BigDecimal

- You want to have full control over rounding
- You don’t mind keeping track of the decimal point
- You don’t mind the inconvenience and cost of not using a primitive type

Disadvantages to using BigDecimal

- Less convenient than using a primitive arithmetic type
- A lot slower

**An alternative to using BigDecimal is to use “int” or “long”, if you wan’t to keep track of the decimal point yourself**

- If the quantities don’t exceed nine decimal digits, use int
- If the quantities exceed eighteen digits, use long
- If the quantities might exceed eighteen digits, use BigDecimal