1. Обзор
В этом кратком руководстве мы покажем, как округлить заданное число до ближайшей сотни .
Например:
99
становится 100
200,2
становится 300
400
становится 400
2. Реализация
Во- первых, мы собираемся вызвать Math.ceil()
для входного параметра. Math.ceil()
возвращает наименьшее целое число, которое больше или равно аргументу. Например, если введено значение 200,2, Math.ceil()
вернет 201.
Затем мы добавляем 99 к результату и делим на 100. Мы используем целочисленное деление , чтобы усечь десятичную часть частного. Наконец, мы умножаем частное на 100, чтобы получить желаемый результат.
Вот наша реализация:
static long round(double input) {
long i = (long) Math.ceil(input);
return ((i + 99) / 100) * 100;
};
3. Тестирование
Проверим реализацию:
@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. Вывод
В этой быстрой статье мы показали, как округлить число до ближайшей сотни.
Как обычно, полный код доступен на GitHub .