zaokrąglij BigDecimal do najbliższych 5 centów

Próbuję dowiedzieć się, jak zaokrąglić kwotę pieniężną w górę do najbliższych 5 centów. Poniżej przedstawiono moje oczekiwane wyniki

1.03     => 1.05
1.051    => 1.10
1.05     => 1.05
1.900001 => 1.10

Potrzebuję, aby wynik miał precyzję 2 (jak pokazano powyżej).

Aktualizacja

Zgodnie z poniższą radą, najlepsze, co mogę zrobić, to to

    BigDecimal amount = new BigDecimal(990.49)

    // To round to the nearest .05, multiply by 20, round to the nearest integer, then divide by 20
   def result =  new BigDecimal(Math.ceil(amount.doubleValue() * 20) / 20)
   result.setScale(2, RoundingMode.HALF_UP)

Nie jestem przekonany, że jest to w 100% koszerne - obawiam się, że precyzja mogłaby zostać utracona podczas konwersji na i z gry podwójnej. Jednak to najlepsze, co do tej pory wymyśliłemwydaje się pracować.

questionAnswers(10)

yourAnswerToTheQuestion