Калькулятор округления чисел
Округление чисел до целого, десятых, сотых, до N знаков после запятой или до ближайшего кратного заданному числу. Математическое, банковское, вниз и вверх.
Выберите режим
Как считаем
До целого (3,7 → 4)
Обозначения. x — исходное число, дробное или целое. Округление «до целого» означает, что мы отбрасываем всю дробную часть и оставляем только количество единиц. Знаков после запятой в результате — ноль.
Формула: round(x, 0) — округление до целого выбранным методом.
Как считаем.
- Смотрим на первую цифру после запятой — она определяет, куда «отправить» число.
- Если < 5 — округляем вниз (3,4 → 3). Если > 5 — вверх (3,6 → 4).
- Если ровно 5 — решает метод: «математическое» отправит от нуля (2,5 → 3, −2,5 → −3), «банковское» — к чётной цифре (2,5 → 2, 3,5 → 4).
Пример. 3,7 математически → 4. 3,4 → 3. 2,5 математически → 3, банковски → 2. Отрицательные: −2,5 математически → −3 (от нуля), floor даёт −3, ceil даёт −2.
Что важно. Округление до целого — не то же, что «отбросить дробную часть»: отбросить (floor для положительных, ceil для отрицательных) даёт «к нулю», а математическое округление — к ближайшему целому. Для отрицательных чисел это разные операции: −2,7 к нулю → −2, к ближайшему → −3.
До десятых (3,14 → 3,1)
Обозначения. Округление «до десятых» — до одного знака после запятой. Формально мы оставляем первую цифру после запятой, а всё, что идёт дальше, сворачиваем в неё по правилу выбранного метода.
Формула: round(x, 1) — округление до 1 знака после запятой.
Как считаем.
- Смотрим на вторую цифру после запятой (сотые) — она определяет округление десятых.
- Если < 5 — оставляем десятые как есть: 3,14 → 3,1. Если > 5 — прибавляем единицу: 3,17 → 3,2.
- Ровно 5 — по методу: 3,15 математически → 3,2 (от нуля), банковски → 3,2 (потому что предыдущая цифра 1 — нечётная, идём к чётной 2).
Пример. π ≈ 3,14159 → 3,1. Курс 92,84 ₽ → 92,8 ₽. Рост 12,73 % → 12,7 %. Отрицательное: −0,45 математически → −0,5 (от нуля).
Что важно. В финансах и аналитике десятые доли процента часто округляют именно к десятым, чтобы сохранить один значащий знак. Для «до сотых» — та же схема, только на один разряд глубже.
До сотых (3,14159 → 3,14)
Обозначения. Округление «до сотых» — до двух знаков после запятой. Именно так работают деньги в бухгалтерии: копейки — сотые доли рубля, любой перевод и любая цена в чеке округлены до двух знаков.
Формула: round(x, 2) — округление до 2 знаков после запятой.
Как считаем.
- Смотрим на третью цифру после запятой (тысячные) — она определяет округление сотых.
- Если < 5 — оставляем сотые как есть: 3,141 → 3,14. Если > 5 — прибавляем к сотым единицу: 3,148 → 3,15.
- Ровно 5 — по методу: 1,005 математически → 1,01, банковски → 1,00 (0 — чётная, идём к ней).
Пример. π ≈ 3,14159 → 3,14. Комиссия 249,3675 ₽ → 249,37 ₽. Курс валюты 92,847 → 92,85. Отрицательное: −1,005 математически → −1,01 (от нуля), floor → −1,01, ceil → −1,00.
Что важно. В расчётах денег ЦБ РФ и налоговая используют математическое округление до копейки (сотых). Банки в некоторых операциях — банковское, чтобы не «мутить» баланс. Разница за один расчёт минимальна, но на миллионе транзакций критична.
До N знаков после запятой
Обозначения. x — исходное число, N — сколько знаков оставить (от 0 до 15). Общая формула объединяет «до целого», «до десятых» и «до сотых» — просто параметризованная N. Полезна там, где количество знаков не «стандартное» — например, до тысячных, до 4 знаков в физике, до 6 в химии.
Формула: round(x, N) — округление до N знаков после запятой.
Как считаем.
- Смотрим на (N+1)-ю цифру после запятой — она определяет округление.
- Если < 5 — оставляем как есть; если > 5 — прибавляем единицу к N-й цифре; если ровно 5 — по методу.
- N = 0 равносильно «до целого», N = 1 — «до десятых», N = 2 — «до сотых».
Пример. π ≈ 3,14159265 округлённое до 4 знаков → 3,1416 (пятая цифра 9, добавляем 1 к четвёртой). До 6 знаков → 3,141593 (седьмая цифра 6, добавляем 1). До 3 знаков — «до тысячных» — 3,142.
Что важно. N > 15 не имеет смысла: тип double (стандарт IEEE 754) хранит примерно 15–17 значащих цифр, дальнейшее округление вернёт те же цифры, что были в исходной FP-репрезентации, а не «настоящее» математическое значение. Для точных расчётов на большем количестве знаков нужна библиотека Decimal с явно заданной точностью — на клиенте её нет, поэтому калькулятор ограничен 15.
До кратного (17 до кратного 5 → 15)
Обозначения. x — исходное число, m — «шаг» кратности (положительное число, целое или дробное). Округление «до кратного» — это округление до ближайшего числа, которое делится на m без остатка. Полезно, когда важно попасть в «круглое» значение по бытовой шкале: 5, 10, 25, 100.
Формула: k = round(x ÷ m); результат = k × m.
Как считаем.
- Делим исходное число на кратное: получаем «отношение» x ÷ m.
- Округляем отношение до целого выбранным методом (математически, банковски, floor, ceil).
- Умножаем округлённое отношение обратно на m — получаем ближайшее кратное.
Пример. 17 до кратного 5: 17 ÷ 5 = 3,4 → round(3,4) = 3 → 3 × 5 = 15. Ещё: 23 до кратного 10 → 20. 148 до кратного 25 → 150. Дробное кратное: 0,73 до кратного 0,25 → 0,75. Метод floor превращает эту операцию в «предыдущее кратное»: 17 floor до 5 → 15, а метод ceil — в «следующее»: 17 ceil до 5 → 20.
Что важно. Для отрицательных x и метода «математическое» кратное берётся «от нуля»: −17 до кратного 5 → −15 при методе математического округления и −20 при округлении вниз (потому что −20 < −15). Кратное m должно быть строго положительным — на 0 делить нельзя.
Методы округления: математический, банковский, floor, ceil
Математическое (half away from zero). «Школьное» округление: если дробная часть ровно ½ — уходим от нуля. Положительные — вверх: 2,5 → 3; отрицательные — вниз: −2,5 → −3. Это интуитивный метод и он же — стандарт для большинства бытовых расчётов.
Банковское (half to even). Если дробная часть ровно ½ — уходим к чётной цифре. 2,5 → 2 (2 — чётная), 3,5 → 4 (4 — чётная), 4,5 → 4, 5,5 → 6. Используется в бухгалтерии и статистике, потому что на большой выборке не создаёт систематического сдвига в одну сторону. Это метод по умолчанию у Python-овского round().
Floor (вниз, к −∞). Всегда уходим в сторону меньшего числа: 2,9 → 2, 2,1 → 2, −2,1 → −3, −2,9 → −3. Не «отбросить дробную часть» — для отрицательных это разные операции. Классический пример: подсчёт целых часов работы (8 часов 45 минут → 8 часов при почасовой оплате в пользу нанимателя).
Ceil (вверх, к +∞). Всегда уходим в сторону большего числа: 2,1 → 3, 2,9 → 3, −2,9 → −2, −2,1 → −2. Полезен, когда нельзя «недобрать» — например, купить 3 упаковки на 21 человека при 8 штуках в упаковке (21 ÷ 8 ≈ 2,625, ceil = 3).
Что важно. На числах вроде 2,3 или 3,7, где дробная часть не ровно ½, все четыре метода часто совпадают. Различия проявляются только на «граничных» случаях. Именно поэтому для проверки корректности калькулятора используют классические тесты: 2,5, −2,5, 1,005 — числа, где методы дают разный результат.
Частые вопросы
Чем математическое округление отличается от банковского?
Разница только в поведении на «половине». Математическое (school-style, half away from zero): 0,5 → 1, 1,5 → 2, 2,5 → 3, 3,5 → 4 — округляем от нуля. Банковское (half to even, оно же Python-овский round()): 0,5 → 0, 1,5 → 2, 2,5 → 2, 3,5 → 4 — округляем к ближайшему чётному. Банковское уменьшает систематическую ошибку при суммировании большого числа платежей, поэтому его любят биржи и бухгалтерия. В школе и в статистике по умолчанию — математическое. Калькулятор поддерживает оба режима, а также floor (вниз) и ceil (вверх).
Как округляется отрицательное число: −2,5 → −2 или −3?
В математическом режиме — −3, «от нуля по модулю». Логика простая: считаем модуль (2,5), округляем как обычно (→ 3), возвращаем минус (→ −3). Это соответствует школьному правилу: «половина всегда уходит от нуля». В банковском режиме −2,5 → −2 (к ближайшему чётному), а −3,5 → −4. В floor-режиме −2,1 даст −3 (вниз по числовой оси), в ceil — −2 (вверх). Python-овский round(-2.5) вернёт −2 (это banker's rounding), а не −3 — здесь и вылезает частая ловушка при переносе школьной формулы в код.
В чём разница между округлением, floor и ceil?
Округление (math или bank) идёт к ближайшему значению: 3,4 → 3, 3,6 → 4. Floor — всегда вниз: 3,9 → 3, −2,1 → −3. Ceil — всегда вверх: 3,1 → 4, −2,9 → −2. Практика: цена товара с НДС часто считается через ceil на копейки (в пользу продавца), скидка — через floor (в пользу покупателя). Для честного среднего или физической величины берут обычное округление. Разобраться с процентными расчётами поможет калькулятор процентов — там результат уже приведён к нужной точности.
Где реально применяется каждый вид округления?
Цены в чеке — обычное математическое до копеек. Зарплата и НДФЛ по приказу Минфина — до целого рубля с математическим округлением (копейка отбрасывается с 50 копеек и выше округляется вверх). Баллы ЕГЭ и школьные оценки — математическое до целого. Банковское округление используют биржи, валютные операции и статистические агентства, где важно, чтобы миллион операций не давал систематический сдвиг вверх. Ceil — тарифы, где неполный час/мегабайт считается как полный. Floor — вычисление возраста полных лет и стажа. Пригодится калькулятор стажа — он тоже работает по floor: неполный месяц не считается.
Почему 3,145 округляется до 3,15, а не до 3,14?
По правилу «половина от нуля» — 5 в третьем знаке идёт вверх, поэтому 3,145 → 3,15 (математический режим). В банковском режиме 3,145 округляется до 3,14 — потому что 4 — чётная цифра, а «половина» уходит к чётному. Ещё одна тонкость: в двоичной плавающей точке (float) число 3,145 представлено не точно — обычно как 3,144999… или 3,145000…1, и результат округления зависит от внутреннего представления. Калькулятор считает через Python Decimal, где 3,145 — это ровно 3,145, поэтому результат детерминирован и совпадает со школьной таблицей.