Better translated percent calculation

* Use integer math and get float in last step, this should perform
  better and produce less floating point errors
* By removing the rounding step, we don't get 100.0 when not wanted
  (Closes #389)