Redondear al centenar más cercano en Java

1. Información general

En este tutorial rápido, ilustraremos cómo redondear un número dado a la centena más cercana .

Por ejemplo:

99 se convierte en 100

200.2 se convierte en 300

400 se convierte en 400

2. Implementación

Primero, vamos a llamar a Math.ceil () en el parámetro de entrada. Math.ceil () devuelve el número entero más pequeño que es mayor o igual que el argumento. Por ejemplo, si la entrada es 200.2 Math.ceil () devolvería 201.

A continuación, sumamos 99 al resultado y lo dividimos por 100. Aprovechamos la división de enteros para truncar la parte decimal del cociente. Finalmente, multiplicamos el cociente por 100 para obtener el resultado deseado.

Aquí está nuestra implementación:

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

3. Prueba

Probemos la implementación:

@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. Conclusión

En este artículo rápido, hemos mostrado cómo redondear un número a la centena más cercana.

Como de costumbre, el código completo está disponible en GitHub.