Use BigDecimal instead of Float.

Store and compute rates in BigDecimal instead of Float.