Java rounding to nearest 0.05

12,860

One option for doing this would be as follows:

  1. Multiply the value by 20.
  2. Use Math.round to round to the nearest integer.
  3. Divide by 20 again.

For example:

double rounded = Math.round(x * 20.0) / 20.0;

Hope this helps!

Share:
12,860
Rustam Issabekov
Author by

Rustam Issabekov

Updated on July 16, 2022

Comments

  • Rustam Issabekov
    Rustam Issabekov almost 2 years

    I am trying to find a way to round values to the nearest 0.05. For example:

    • 0.93 rounds to 0.95
    • 0.81 rounds to 0.80
    • 0.65 stays 0.65
    • 0.68 to 0.70
    • 0.67 to 0.65

    Is there a simple way to do this in Java?

  • Rustam Issabekov
    Rustam Issabekov about 12 years
    Thanks again for you answer, I was wandering is it possible to make rounding like this: 0.95 rounds to 1, 0.94 rounds to 0.90, 0.89 rounds to 0.85
  • eyoeldefare
    eyoeldefare over 6 years
    why 20? There no explaination?
  • templatetypedef
    templatetypedef over 6 years
    @EyoeID 20 = 1 / 0.05.