Fix lowestRate

The rates are strings, and JavaScript compares them character by character rather than numerically. So, e.g. `'27.50' < '5.50'`. This converts them to numbers before comparing so the actual lowest rate is returned.