Содержание
В школе правило одно и звучит непреложно: если после запятой пять — округляем вверх. 2,5 → 3, и никаких обсуждений.
Открываете отчёт, а там 2,5 округлилось до 2. Соседняя строка, 3,5, честно стала четвёркой. Первая мысль — сбой. Вторая — что кто-то поленился написать нормальную формулу.
Ни то, ни другое. Это банковское округление, и придумали его именно затем, чтобы школьное правило не портило суммы.
Пять способов вместо одного
Округление — не одна операция, а семейство. Разница только в том, что делать со спорным случаем: когда число ровно посередине между соседями.
| Способ | 2,5 | 3,5 | −2,5 | Где встречается |
|---|---|---|---|---|
| Математическое (школьное) | 3 | 4 | −3 | учебники, налоги |
| Банковское (к чётному) | 2 | 4 | −2 | финансы, статистика, процессоры |
| Вверх | 3 | 4 | −2 | закупка материалов |
| Вниз | 2 | 3 | −3 | лимиты и квоты |
| Отбросить дробную часть | 2 | 3 | −2 | программирование |
Для всех чисел, кроме ровных половин, первые два способа дают одинаковый результат. 2,4 округляется до 2 в любой системе, 2,6 — до 3. Расхождение возникает исключительно на границе, ровно посередине.
Кажется, что это редкий случай, о котором можно не думать. В расчётах с деньгами он редким не бывает: копейки, доли процента и половины рубля возникают постоянно.
Откуда берётся перекос
Школьное правило кажется симметричным, но это иллюзия. Оно отправляет вверх все спорные случаи — а вниз ни одного. Каждая ровная половина в вашей таблице тянет сумму в одну сторону.
Возьмём десять чисел с шагом в единицу, все на ровной половине:
0,5 · 1,5 · 2,5 · 3,5 · 4,5 · 5,5 · 6,5 · 7,5 · 8,5 · 9,5
Настоящая сумма — 50.
Округляем по-школьному: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Сумма — 55. Перекос в 5 единиц, десять процентов на ровном месте.
Теперь банковским способом, к ближайшему чётному: 0, 2, 2, 4, 4, 6, 6, 8, 8, 10. Сумма — ровно 50.
Работает это потому, что чётные и нечётные половины чередуются: 0,5 идёт вниз к нулю, 1,5 вверх к двойке, 2,5 снова вниз к двойке. Ошибки гасят друг друга вместо того, чтобы складываться.
На десяти числах разница выглядит academic. На тысячах строк в реестре начислений это уже расхождение, которое приходится объяснять — и такова же причина, по которой банковское округление стоит по умолчанию в стандарте IEEE 754, то есть в самой арифметике процессора.
Почему 1,005 округляется до 1,00
Отдельная ловушка, из-за которой округление обвиняют в ошибках чаще всего. Округляем 1,005 до сотых — ждём 1,01, получаем 1,00. Причём в любом языке программирования и в большинстве калькуляторов.
Виновато не округление, а двоичное представление дробей. У числа 1,005 нет точной записи в двоичной системе — точно так же, как у 1/3 нет конечной записи в десятичной. Компьютер хранит ближайшее возможное значение, а оно оказывается чуть меньше:
1,00499999999999989…
Дальше всё логично: это уже не ровная половина, а число немного ниже неё, и округление честно уводит его вниз. Тот же корень у самой известной странности с дробями — 0,1 + 0,2 в большинстве языков даёт не 0,3, а 0,30000000000000004.
Хорошие калькуляторы этот эффект компенсируют — обрезают мусор в последних разрядах до того, как применить правило. Но если вы считаете в электронной таблице и видите «неправильное» округление на ровной половине, причина почти всегда здесь.
Отрицательные числа: три разных ответа
На минусах способы расходятся сильнее всего, и это источник тихих ошибок в расчётах.
Округлить −2,5 можно тремя равно осмысленными способами. Вниз означает «в меньшую сторону», то есть к −3. Отбросить дробную часть — к −2, потому что отбрасывание тянет к нулю, а не вниз. По школьному правилу — к −3, поскольку правило работает по модулю: половина уходит от нуля.
На положительных числах «вниз» и «отбросить» дают одно и то же, поэтому разницу легко не заметить — до первого отрицательного значения в таблице.
Курьёз в довесок: встроенная функция округления в JavaScript даёт для −2,5 результат −2. Она отправляет половину не «от нуля», а всегда в сторону плюс бесконечности — то есть не совпадает ни со школьным правилом, ни с банковским.
Где способ округления диктует закон
В расчётах с бюджетом выбирать не приходится — порядок прописан.
Налоги округляют до полных рублей. Пункт 6 статьи 52 НК: сумма меньше 50 копеек отбрасывается, 50 копеек и больше округляется до полного рубля. Это обычное математическое округление, никакого банковского. Поэтому НДФЛ в расчётном листке всегда целый: 7 813,52 ₽ превращаются в 7 814 ₽.
Страховые взносы не округляют вообще. Их считают и перечисляют в рублях и копейках — правило из статьи 52 на них не распространяется. Отсюда частая путаница в зарплатных расчётах: два платежа с одной и той же базы, а разрядность у них разная.
Где годится только «вверх»
Есть задачи, в которых любое округление вниз — брак. Обои, плитка, ламинат, кирпич, профнастил: 12,3 рулона означает, что нужно купить 13. Дробных упаковок не существует, а недостача останавливает работу.
Поэтому строительные калькуляторы никогда не округляют по школьному правилу — только вверх, и обычно ещё добавляют запас на подрезку. Про то, почему стандартных десяти процентов запаса часто не хватает, есть отдельный разбор.
Обратная ситуация — лимиты. Сколько коробок влезет в багажник, сколько сотрудников можно нанять на бюджет: здесь округляют строго вниз, потому что превышение невозможно физически.
Как округлить нужным способом
Прогнать число всеми пятью способами сразу — калькулятор округления: выбираете разряд и метод, получаете результат, соседние значения снизу и сверху и величину погрешности. Разряд можно задать отрицательный — тогда округление пойдёт до десятков, сотен или тысяч.
Практический вывод простой: способ округления — это не деталь оформления, а часть расчёта. Пока считаете одно число, разницы нет. Как только начинаете складывать столбец, выбор способа определяет, сойдётся ли итог.
Частые вопросы
Почему 2,5 округляется до 2, а не до 3?
Что такое банковское округление?
Насколько школьное округление завышает сумму?
Почему 1,005 округляется до 1,00, а не до 1,01?
Как округляют НДФЛ и страховые взносы?
Чем округление вниз отличается от отбрасывания дробной части?
Источники
обновлено 1 августа 2026- НК РФ ст. 52 п. 6 — округление суммы налога до полных рублей
- IEEE 754 — стандарт арифметики с плавающей запятой; режим округления по умолчанию roundTiesToEven (к ближайшему чётному)
- Двоичное представление десятичных дробей: 1,005 хранится как 1,00499999999999989…, отсюда «неожиданное» округление вниз