Округлите полученное число до ближайшего кратного 10
Учитывая положительное целое число n, округлите его до ближайшего целого числа, имеющего ноль в качестве последней цифры.
Примеры:
Подход:
Давайте округлим заданное число n до ближайшего целого числа, которое заканчивается на 0, и сохраним это значение в переменной a.
a = (n / 10) * 10. Итак, округление n в большую сторону (назовем его b) равно b = a + 10.
Если n — a> b — n, то ответ будет b, иначе ответ будет a.
Округление целых чисел до ближайшего кратного 10
Я пытаюсь выяснить, как округлить цены-в обоих направлениях. Например:
у меня есть ситуация, когда у меня есть ценовой диапазон, скажем:
из которых я хочу показать как:
как это выглядит намного чище
есть идеи о том, как я могу этого достичь?
5 ответов
Я бы просто создал пару методов;
модуль дает нам остаток, в случае округления 10 — r приведет вас к ближайшей десятой, чтобы округлить вас просто вычесть r. Довольно прямолинейно.
вам не нужно использовать модуль (%) или плавающую точку.
этот код округляет до ближайшего кратного 10:
очень простое использование :
разделить число на 10.
затем умножьте на 10.
общий метод округления числа до кратного другому числу, округление от нуля.
для целого числа
для поплавочной
Я знаю, что некоторые части могут показаться нелогичным или не очень оптимизирован. Я попытался бросить (num + step / 2) в int, но это дало неправильные результаты для отрицательных поплавков ( (int) -12.0000 = -11 и такие). В любом случае, это несколько случаев, которые я тестировал: