Округление чисел
При выполнении различных арифметических операций важно, чтобы результат округлялся правильно. Часто требуется округлять в большую, меньшую сторону, до ближайшего целого или округлить до сотых.
Для этого программист может использовать различные инструменты, такие как встроенная функция round(), преобразование к типу int и функции из подключаемого модуля math.
Способы округления чисел
Для округления чисел придумано много способов, они не лишены недостатков, однако часто используются для решения задач. Разберёмся в тонкостях каждого из них.
Если используется стандартная библиотека math, то в начале кода её необходимо подключить. Сделать это можно, например, с помощью инструкции: import math .
math.ceil() — округление чисел в большую сторону
Функция получила своё имя от термина «ceiling», который используется в математике для описания числа, которое больше или равно заданному.
Любая дробь находится в целочисленном интервале, например, 1.2 лежит между 1 и 2. Функция ceil() определяет, какая из границ интервала наибольшая и записывает её в результат округления.
math.floor() — округление чисел в меньшую сторону
Функция округляет дробное число до ближайшего целого, которое меньше или равно исходному. Работает аналогично функции ceil() , но с округлением в противоположную сторону.
math.trunc() — отбрасывание дробной части
Возвращает целое число, не учитывая его дробную часть. То есть никакого округления не происходит, Python просто забывает о дробной части, приводя число к целочисленному виду.
Избавиться от дробной части можно с помощью обычного преобразования числа к типу int. Такой способ полностью эквивалентен использованию trunc() .
Нормальное округление
Python позволяет реализовать нормальное арифметическое округление, использовав функцию преобразования к типу int.
И хотя int() работает по другому алгоритму, результат её использования для положительных чисел полностью аналогичен выводу функции floor(), которая округляет числа «вниз». Для отрицательных аналогичен функции ceil().
Чтобы с помощью функции int() округлить число по математическим правилам, необходимо добавить к нему 0.5, если оно положительное, и -0.5, если оно отрицательное.
Тогда операция принимает такой вид: int(num + (0.5 if num > 0 else -0.5)). Чтобы каждый раз не писать условие, удобно сделать отдельную функцию:
Функция работает также, как стандартная функция округление во второй версии Python (арифметическое округление).
round() — округление чисел
round() — стандартная функция округления в языке Python. Она не всегда работает так, как ожидается, а её алгоритм различается в разных версиях Python.
В Python 2
Во второй версии Python используется арифметическое округление. Оно обладает постоянно растущей погрешностью, что приводит к появлению неточностей и ошибок.
Увеличение погрешности вызвано неравным количеством цифр, определяющих, в какую сторону округлять. Всего 4 цифры на конце приводят к округлению «вниз», и 5 цифр к округлению «вверх».
Помимо этого, могут быть неточности, например, если округлить число 2.675 до второго знака, получится число 2.67 вместо 2.68. Это происходит из-за невозможности точно представить десятичные числа типа «float» в двоичном коде.
В Python 3
В третьей версии Python используется банковское округление. Это значит, что округление происходит до самого близкого чётного.
Такой подход не избавляет от ошибок полностью, но уменьшает шанс их возникновения и позволяет программисту добиться большей точности при вычислениях.
Но если вам по каким то причинам нужно округление как в Python 2, то можно воспользоваться функцией написанной нами выше на основе приведения к целому числу.
Округление до сотых
У функции raund() есть ещё один аргумент. Он показывает до какого количества знаков после запятой следует округлять. Таким образом, если нам надо в Python округлить до сотых, этому параметру следует задать значение 2.
Пример округления до нужного знака:
Ошибки округления и модуль decimal
При округлении функцией round(), можно получить следующее:
Почему в одном случае округляется вниз, а в другом вверх? При переводе 2.85 в двоичную систему получается число, которое немного больше. Поэтому функция видит не «5», а «>5» и округляет вверх.
Проблему неточного представления чисел отлично иллюстрирует пример:
Из-за подобных ошибок числа типа «float» нельзя использовать там, где изменения значения на одну тысячную может привести к неверному результату. Решить данную проблему поможет модуль decimal.
Как округлять числа

Округление — это замена числа близким по значению, у которого на конце стоит ноль. Тогда исходное число и станет круглым. Например, круглыми являются числа 10, 20, 100, 730, 1 420, 15 000.
Результат округления называется приближённым значением данного числа и указывается после знака ≈ («приблизительно равно»).
Как округлять числа
Натуральные числа
Все числа, в которых больше одного знака, имеют разряды. Это место, на котором в числе стоит та или иная цифра. Например, в числе 342 три разряда: сотен (три сотни), десятков (четыре десятка) и единиц (две единицы). Соответственно, округлять числа можно до десятков, сотен, тысяч и так далее.
При округлении цифры в ненужных нам разрядах заменяются нулями (по сути, отбрасываются), а цифра в нужном разряде либо изменяется в большую сторону, либо остаётся неизменной. Это зависит от того, какая цифра стоит за ней. Если от 0 до 4, то ничего не происходит. Если от 5 до 9, тогда к разряду прибавляется единица.
Возьмём число 21 769. Его можно округлить следующим образом:
- До десятков. Находим количество десятков в числе 21 769 — их шесть. За шестёркой стоит цифра 9, значит, при округлении разряд десятков увеличится на один. То есть ответ — 21 770.
- До сотен. Находим количество сотен в числе 21 769 — их семь. Теперь проверяем цифру за семёркой — это 6, соответственно, к разряду сотен прибавляем единицу. Результат — 21 800.
- До тысяч. Находим количество тысяч — их 21. За единицей стоит семёрка, значит, при округлении числа разряд тысяч увеличиваем на один и получаем 22 000.
Дробные числа
При округлении дробей действуют точно такие же правила, как и при округлении натуральных чисел. Только нужно быть более внимательным, потому что разрядов в дробях больше — они есть и в целой части (единицы, десятки, сотни, тысячи и т. д.), и в дробной (десятые, сотые, тысячные и т. д.).
Например, возьмём десятичную дробь 45,836. Её можно округлить так:
- до сотых → 45,84;
- до десятых → 45,8;
- до целого → 46;
- до десятков → 50.
Когда пригодится округление чисел
Округление помогает в самых разных случаях. Например, когда нужно прикинуть результат умножения больших чисел. Допустим, вы хотите представить, сколько будет 738 × 46. По правилам округления, это приблизительно равно 700 × 50. Получается: 738 × 46 ≈ 700 × 50 ≈ 35 000. А точный результат умножения равен 33 948.
Правила округления чисел пригодятся не только при решении задачек, но и когда нужно примерно рассчитать стоимость чего‑то, чтобы понять, укладывается ли она в ваш бюджет или нет.
Также к округлению прибегают, когда абсолютная точность просто не важна. Например, если знакомые из другого города спросят вас, сколько людей живёт в вашем, вы вряд ли будете называть число до десятков и единиц, даже если знаете его. Вы, скорее, скажете, что в нём живёт «примерно четыреста тысяч» или «около миллиона» человек.
Как округлить число в большую сторону
Не забывайте, что вы используете целочисленное деление. Результат деления 1/30 — уже 0. Поэтому перейдите к делению дробных чисел (1.0/30.0 = 0.03333333. ), а уж это число округляйте вверх.
![]()
![]()
Можно без Math: (a + b — 1) / b
Вариант с целочисленным делением выглядит так: (a*b+b*b-1)/(b*b)
Найдём вариант с целочисленным делением.
Нетрудно проверить, что ceil(a/b) = — floor(-a/b) .
Т.е. если a/b — это округление вниз, то -(-a/b) это округление вверх.
Если при целочисленном делении дробная часть просто отбрасывается (что соответствует операции trunc), то в случае ab>0 округление вверх — это -(-a/b) ,
а в случае ab<0 — это a/b .
Как округлять числа в большую и меньшую сторону функциями Excel
Округляют числа в Excel несколькими способами. С помощью формата ячеек и с помощью функций. Эти два способа следует различать так: первый только для отображения значений или вывода на печать, а второй способ еще и для вычислений и расчетов.
С помощью функций возможно точное округление, в большую или меньшую сторону, до заданного пользователем разряда. А полученные значения в результате вычислений, можно использовать в других формулах и функциях. В то же время округление с помощью формата ячеек не даст желаемого результата, и результаты вычислений с такими значениями будут ошибочны. Ведь формат ячеек, по сути, значение не меняет, меняется лишь его способ отображения. Чтобы в этом быстро и легко разобраться и не совершать ошибок, приведем несколько примеров.
Как округлить число форматом ячейки
Впишем в ячейку А1 значение 76,575. Щелкнув правой кнопкой мыши, вызываем меню «Формат ячеек». Сделать то же самое можно через инструмент «Число» на главной странице Книги. Или нажать комбинацию горячих клавиш CTRL+1.
Выбираем числовой формат и устанавливаем количество десятичных знаков – 0.


Назначить количество десятичных знаков можно в «денежном» формате, «финансовом», «процентном».
Как видно, округление происходит по математическим законам. Последняя цифра, которую нужно сохранить, увеличивается на единицу, если за ней следует цифра больше или равная «5».
Особенность данного варианта: чем больше цифр после запятой мы оставим, тем точнее получим результат.
Как правильно округлить число в Excel
С помощью функции ОКРУГЛ() (округляет до необходимого пользователю количества десятичных разрядов). Для вызова «Мастера функций» воспользуемся кнопкой fx. Нужная функция находится в категории «Математические».

- «Число» — ссылка на ячейку с нужным значением (А1).
- «Число разрядов» — количество знаков после запятой, до которого будет округляться число (0 – чтобы округлить до целого числа, 1 – будет оставлен один знак после запятой, 2 – два и т.д.).
Теперь округлим целое число (не десятичную дробь). Воспользуемся функцией ОКРУГЛ:
- первый аргумент функции – ссылка на ячейку;
- второй аргумент – со знаком «-» (до десятков – «-1», до сотен – «-2», чтобы округлить число до тысяч – «-3» и т.д.).
Как округлить число в Excel до тысяч?
Пример округления числа до тысяч:

Округлить можно не только число, но и значение выражения.
Допустим, есть данные по цене и количеству товара. Необходимо найти стоимость с точностью до рубля (округлить до целого числа).

Первый аргумент функции – числовое выражение для нахождения стоимости.
Как округлить в большую и меньшую сторону в Excel
Для округления в большую сторону – функция «ОКРУГЛВВЕРХ».
Первый аргумент заполняем по уже знакомому принципу – ссылка на ячейку с данными.
Второй аргумент: «0» — округление десятичной дроби до целой части, «1» — функция округляет, оставляя один знак после запятой, и т.д.

Чтобы округлить в меньшую сторону в Excel, применяется функция «ОКРУГЛВНИЗ».
Пример формулы: =ОКРУГЛВНИЗ(A1;1).

Формулы «ОКРУГЛВВЕРХ» и «ОКРУГЛВНИЗ» используются для округления значений выражений (произведения, суммы, разности и т.п.).

Как округлить до целого числа в Excel?
Чтобы округлить до целого в большую сторону используем функцию «ОКРУГЛВВЕРХ». Чтобы округлить до целого в меньшую сторону используем функцию «ОКРУГЛВНИЗ». Функция «ОКРУГЛ» и формата ячеек так же позволяют округлить до целого числа, установив количество разрядов – «0» (см.выше).
В программе Excel для округления до целого числа применяется также функция «ОТБР». Она просто отбрасывает знаки после запятой. По сути, округления не происходит. Формула отсекает цифры до назначенного разряда.

Второй аргумент «0» — функция отсекает до целого числа; «1» — до десятой доли; «2» — до сотой доли и т.д.
Специальная функция Excel, которая вернет только целое число, – «ЦЕЛОЕ». Имеет единственный аргумент – «Число». Можно указать числовое значение либо ссылку на ячейку.

Недостаток использования функции «ЦЕЛОЕ» — округляет только в меньшую сторону.
Округлить до целого в Excel можно с помощью функций «ОКРВВЕРХ» и «ОКРВНИЗ». Округление происходит в большую или меньшую сторону до ближайшего целого числа.
Пример использования функций:

Второй аргумент – указание на разряд, до которого должно произойти округление (10 – до десятков, 100 – до сотен и т.д.).
Округление до ближайшего целого четного выполняет функция «ЧЕТН», до ближайшего нечетного – «НЕЧЕТ».
Пример их использования:

Почему Excel округляет большие числа?
Если в ячейки табличного процессора вводятся большие числа (например, 78568435923100756), Excel по умолчанию автоматически округляет их вот так: 7,85684E+16 – это особенность формата ячеек «Общий». Чтобы избежать такого отображения больших чисел нужно изменить формат ячейки с данным большим числом на «Числовой» (самый быстрый способ нажать комбинацию горячих клавиш CTRL+SHIFT+1). Тогда значение ячейки будет отображаться так: 78 568 435 923 100 756,00. При желании количество разрядов можно уменьшить: «Главная»-«Число»-«Уменьшить разрядность».