Estou com um problema e não encontrei solução para isso no pai GOOGLE. Preciso arredondar um valor que recebo em uma variável double, até aí tudo bem, o ceil() resolveria meu problema, mas preciso arredondar o valor para os próximos 0,05 centavos.
Ex.
Entrada:
double preco = 12.4326;
double valor = 12.4753;
Multiplique o número por 20.0, arredonde (usando Math.rint talvez), e então divida de volta por 20.0.
Por que isso funciona?
É que há apenas 20 valores possíveis (0.00, 0.05, 0.10… até 0.95) para esses valores em centavos. É por isso que multiplicar por 20, arredondar, e dividir por 20 funciona.