[FIX] rounding: precision rounding border cases

2283 * 0.01 != 22.83 / (1 / 0.01)

When the rounding factor is lower than 1.0, dividing provides a better precision than multiplying