Перейти к содержимому

Выберите режим

Выберите, до чего округлять
Исходное число (можно отрицательное или дробное)
«Математическое» — как в школе (2,5 → 3). «Банковское» — как Python round() (2,5 → 2, 3,5 → 4). «Вниз/вверх» — floor и ceil.
mode_znaka
Только для режима «До N знаков»: сколько десятичных знаков оставить
mode_kratnogo
Только для режима «До кратного»: к какому числу округлять (целое или дробное, положительное)
Заполните форму — здесь появится результат.

О калькуляторе

Округление до одной сотой — стандарт для денежных сумм. Оставляет два знака после запятой: 3,14159 → 3,14, 3,145 → 3,15 (по математическому правилу), 3,144 → 3,14. Именно с такой точностью принято записывать рубли и копейки, доллары и центы, евро и евроценты, а также большинство статистических и физических величин.

Где применяется. Цена товара в чеке — обязательно до копеек (Приказ Минфина о ведении бухучёта: денежные измерения — с точностью до копейки). Цена в 1С, счета-фактуры, акты выполненных работ — всё держится в формате «рубли.копейки». Курс валют ЦБ РФ публикуется до четырёх знаков после запятой, но в бытовых обменниках его округляют до сотых. Ставки по кредитам и депозитам — до сотых процента: «12,50%», «7,25%». Аналитические коэффициенты, доли рынка — тоже часто до сотых, чтобы видеть небольшие изменения от квартала к кварталу.

Тонкость: сумма с копейками в компьютере хранится через плавающую точку, и число 0,10 внутри может представляться как 0,09999… — при попытке умножить или сложить это иногда даёт «−0,01» на выходе из суммирования большого массива. Именно поэтому в бухгалтерских программах и в биржевой инфраструктуре используют arbitrary-precision-арифметику (Python Decimal, SQL-тип NUMERIC, аналог в 1С) — там 0,10 остаётся ровно 0,10, и округление до сотых работает предсказуемо: 0,105 → 0,11, а не «неизвестно что, зависит от внутреннего представления».

Для расчёта итоговой суммы с процентами удобно взять калькулятор процентов. Для НДС от цены товара — калькулятор НДС: он сразу выдаёт сумму налога и итого с точностью до копейки.

Как считаем

До сотых (3,14159 → 3,14)

Обозначения. Округление «до сотых» — до двух знаков после запятой. Именно так работают деньги в бухгалтерии: копейки — сотые доли рубля, любой перевод и любая цена в чеке округлены до двух знаков.

Формула: round(x, 2) — округление до 2 знаков после запятой.

Как считаем.

  1. Смотрим на третью цифру после запятой (тысячные) — она определяет округление сотых.
  2. Если < 5 — оставляем сотые как есть: 3,141 → 3,14. Если > 5 — прибавляем к сотым единицу: 3,148 → 3,15.
  3. Ровно 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.

Что важно. В расчётах денег ЦБ РФ и налоговая используют математическое округление до копейки (сотых). Банки в некоторых операциях — банковское, чтобы не «мутить» баланс. Разница за один расчёт минимальна, но на миллионе транзакций критична.

Методы округления: математический, банковский, 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 — числа, где методы дают разный результат.

Частые вопросы

Как правильно округлить цену 199,995 ₽ до копеек?

По математическому правилу: 199,995 → 200,00. Третий знак — 5, идёт вверх «от нуля», разряд копеек переполняется (99 + 1 = 100), перенос идёт в рубли: 199 + 1 = 200. В банковском режиме 199,995 → 200,00 тоже (следующая после 99 чётная — 100, а до неё расстояние такое же). А вот 199,985 в банковском режиме → 199,98 (8 — чётная, половина к чётному), тогда как математически 199,985 → 199,99. Кассовые программы и 1С по умолчанию используют математическое правило — оно интуитивнее для покупателя.

Почему после умножения 0,1 × 3 получается 0,30000…04, а не 0,30?

Потому что числа с плавающей точкой (float) хранят 0,1 не как ровно одну десятую, а как ближайшее приближение в двоичной системе. При умножении на 3 накапливается погрешность 4×10⁻¹⁷, которая видна, если вывести число с максимальной точностью. Для денежных расчётов это критично: сумма 1000 позиций по 0,10 может дать 100,0000000000001 вместо ровно 100,00. Решение — arbitrary-precision-арифметика: Python Decimal("0.1") * 3 вернёт ровно 0.3. Калькулятор использует именно Decimal, поэтому 0,1 × 3 = 0,30 и округление до сотых детерминировано.

В каком формате правильно записать сумму до сотых в отчёте?

Стандарт российской делопроизводственной практики: разряды тысяч разделяются неразрывным пробелом (не запятой и не точкой), десятичный разделитель — запятая, копейки всегда пишутся двузначно, даже если нулевые: «12 500,00 ₽», а не «12,500.00 руб» или «12500,0 р». В международных стандартах ISO разделитель разрядов — узкий неразрывный пробел, а знак валюты — по коду ISO 4217 («RUB», «USD», «EUR»). Калькулятор возвращает результат в русском формате, но пробел в разрядах и запятую в дробях можно поменять при копировании в отчёт.

Другие режимы