Arredondar até as centenas mais próximas

Arredondar até as centenas mais próximas

1. Visão geral

Neste tutorial rápido, ilustraremos comoround up a given number to the nearest hundred.

Por exemplo:99 torna-se100200.2 torna-se300400 torna-se400

2. Implementação

Primeiro, vamos chamarMath.ceil() no parâmetro de entrada. Math.ceil() returns the smallest integer that is greater than or equal to the argument. Por exemplo, se a entrada for 200,2Math.ceil() retornaria 201.

Em seguida, adicionamos 99 ao resultado e dividimos por 100. Estamos tirando proveito do número inteirodivisionto truncate the decimal portion of the quotient. Finalmente, estamos multiplicando o quociente por 100 para obter a saída desejada.

Aqui está a nossa implementação:

static long round(double input) {
    long i = (long) Math.ceil(input);
    return ((i + 99) / 100) * 100;
};

3. Teste

Vamos testar a implementação:

@Test
public void givenInput_whenRound_thenRoundUpToTheNearestHundred() {
    assertEquals("Rounded up to hundred", 100, RoundUpToHundred.round(99));
    assertEquals("Rounded up to three hundred ", 300, RoundUpToHundred.round(200.2));
    assertEquals("Returns same rounded value", 400, RoundUpToHundred.round(400));
}

4. Conclusão

Neste artigo rápido, mostramos como arredondar um número para a centena mais próxima.

Como de costume, o código completo está disponívelon the GitHub.