Menu

Калькулятор округления

Оба соседа, точные расстояния и то, что делает с ничьёй каждое соглашение.

Автор Nethanel Bar, Сооснователь и генеральный директор

Обновлено

Хотите решать это без калькулятора?

Курс математики Coddy учит самому методу: вы прорабатываете каждый шаг на интерактивной доске и узнаёте, где именно ход пошёл не так.

Округление - это сравнение, а не правило

Чтобы округлить число, нужны всего два кандидата: кратное выбранного разряда чуть ниже него и чуть выше. 3.472 до одного знака после запятой лежит между 3.4 и 3.5, на 0.072 выше первого и на 0.028 ниже второго - значит, побеждает 3.5. «Посмотри на следующую цифру и поднимись, если она 5 или больше» - это короткий путь к тому же сравнению, и путь очень хороший.

Короткий путь становится настоящим решением только в середине, где ни один сосед не ближе. Там ответ действительно зависит от того, какое соглашение вы используете, а в ходу их шесть: школьное округление отправляет ничью от нуля, банк - к чётному соседу, функция ОКРУГЛВНИЗ в таблице всегда идёт вниз, а усечение просто выбрасывает остаток. Эта страница показывает все шесть рядом на вашем числе, потому что именно на этот вопрос страница об округлении и должна отвечать.

Чтобы вообще увидеть ничью, нужна точная арифметика. В двоичной плавающей точке 2.675 - это на самом деле 2.67499999999999982…, и поэтому почти любой калькулятор, таблица и язык программирования округляют это до 2.67 и настаивают, что никакой ничьей не было. Здесь число хранится точной дробью, поэтому 2.675 - настоящая ничья, страница так и говорит, а статья объясняет, почему ваш другой калькулятор не согласился.

На что обратить внимание

  • Два соседа - всегда кратные того разряда, до которого вы округляете. До десятков это 1270 и 1280; до двух знаков после запятой - 2.67 и 2.68.
  • Важно только расстояние, а не цифры. Правило цифры работает потому, что цифра 5 или больше И ЕСТЬ дальняя половина промежутка: это сокращение сравнения, а не отдельный закон.
  • Значащие цифры считают от первой ненулевой, а не от запятой. 0.004567 до двух значащих цифр - это 0.0046: ведущие нули держат разряд, а цифрами не являются.
  • Соглашения расходятся только на ничьей. В остальных случаях округление вверх, к чётному и вниз дают одно и то же - поэтому почти никто не замечает, что правил больше одного.
  • Школьное правило - «от нуля», а не «к плюс бесконечности». Поэтому -2.5 по нему становится -3, тогда как функция потолка дала бы -2.
  • Округлить дважды - не то же, что округлить один раз. 2.446 до двух знаков даёт 2.45, а ЭТО до одного даёт 2.5, но исходное число прямо до одного знака даёт 2.4.

Как округлить число

  1. Решите, до чего округляете

    До числа знаков после запятой, до разряда (десятки, сотни) или до числа значащих цифр. Всё дальнейшее - одна и та же работа при любом выборе.

  2. Найдите двух соседей

    Кратное этого разряда чуть ниже вашего числа и чуть выше. Для 3.472 до одного знака: 3.4 и 3.5.

  3. Посмотрите, кто ближе

    Либо сравните расстояния (0.072 против 0.028), либо используйте короткий путь: посмотрите первую цифру за разрядом и поднимитесь, если она 5 или больше. Оба отвечают на один вопрос.

  4. Если ровно посередине - примените соглашение

    Школьное правило округляет от нуля: 2.5 идёт в 3, а -2.5 в -3. Статистики и банки часто округляют к чётному соседу, тогда 2.5 идёт в 2, а 3.5 в 4.

  5. Сохраните разряд, до которого округляли

    Округление 1274 до сотен даёт 1300, а не 13. Нули несут смысл: они говорят, до какого разряда ответ точен.

Одни и те же числа, округлённые четырьмя способами

Школьное округление (5 и больше вверх), применённое к каждому разряду. Обратите внимание на числа, которые не двигаются: они уже точные кратные этого разряда.

Число1 знак2 знакаДо десятков2 знач. цифры
3.4723.53.4703.5
2.6752.72.6802.7
12741274127412701300
0.0045670000.0046
-2.5-2.5-2.50-2.5
9.96109.961010
0.50.50.500.5
149.5149.5149.5150150

Разобранные примеры

3.472 до одного знака после запятой

plain
3.472

Соседи - 3.4 и 3.5. Расстояния 0.072 и 0.028, значит 3.5 ближе, и это ответ. Короткий путь согласен: цифра после десятых - 7, то есть 5 или больше, значит вверх. Ошибка округления 0.028 - вот сколько стоит «до одного знака».

Ничья, которой не видит ни один калькулятор: 2.675 до двух знаков

plain
2.675

Сохранённое точно, это число стоит ровно посередине между 2.67 и 2.68. Школьное округление поднимает его до 2.68; банк отправит к чётному соседу, тоже 2.68; округление вниз дало бы 2.67. Ваш телефон почти наверняка говорит 2.67, потому что в двоичной записи 2.675 хранится чуть ниже половины.

Отрицательная ничья: -2.5 до целого

plain
-2.5

Школьное правило действует на цифру, поэтому округляет от нуля: -3. Функция потолка идёт к плюс бесконечности и даёт -2; пол даёт -3; усечение просто отбрасывает .5 и даёт -2. Четыре защитимых ответа - именно поэтому соглашение нужно называть.

Значащие цифры: 0.004567 до двух

plain
0.004567

Счёт начинается с 4, значит две значащие цифры - это 4 и 6, а решающая цифра - следующая за ними 7: поднимаемся до 0.0046. Три ведущих нуля - не цифры, а держатели разряда, говорящие, где стоит число.

Когда округление переносится: 9.96 до одного знака

plain
9.96

Соседи - 9.9 и 10.0, и 9.96 ближе ко второму, поэтому ответ 10: перенос доходит до единиц. Это случай, на котором спотыкаются, потому что меняется и цифра перед округляемым разрядом.

Делать нечего: 149.5 до одного знака

plain
149.5

149.5 уже точное кратное 0.1, поэтому выбирать между двумя соседями не из чего, и число возвращается неизменным с нулевой ошибкой округления. До десятков - другая история: там ничья настоящая, и школьное округление даёт 150.

Частые ошибки

  • Округлять поэтапно. Округляйте каждый раз от ИСХОДНОГО числа: 2.446, доведённое до двух знаков, а потом до одного, даёт 2.5, а сразу до одного знака - 2.4.
  • Выбрасывать нули, держащие разряд. 1274 до сотен - это 1300; написать 13 значит изменить число в сто раз.
  • Считать значащие цифры от запятой. В 0.004567 первая значащая цифра - 4, поэтому две значащие цифры дают 0.0046, а не 0.00.
  • Считать поведение калькулятора на ничьей математикой. Функция ОКРУГЛ в таблице округляет ничью от нуля, а round() в Python - к чётному: оба варианта защитимы, спор идёт о соглашении.
  • Читать «округлить вверх» как «к плюс бесконечности» для отрицательных. По школьному правилу -2.5 идёт в -3, потому что правило цифры смотрит на величину и игнорирует знак.
  • Забывать, что округлённое число - приближение. Как только написано 3.5, эти 0.028 потеряны навсегда, поэтому округляйте в КОНЦЕ вычисления, а не посередине.

Вопросы об округлении

Как округлить число до знака после запятой?
Посмотрите первую цифру за нужным разрядом. Если она 5 или больше - вверх, иначе вниз. Для 3.472 до одного знака следующая цифра 7, значит ответ 3.5. Равносильно и честнее: выберите из 3.4 и 3.5 то, что ближе.
Всегда ли 5 округляется вверх?
По школьному правилу да - и одинокая 5 как раз тот случай, когда оба соседа равноудалены, так что правило это соглашение, а не факт. Существуют и широко используются другие: к чётному соседу, вниз или к нулю.
Что такое банковское округление и зачем оно?
Округление половины к чётному: ничья идёт к чётному соседу, поэтому 2.5 становится 2, а 3.5 становится 4. Если всегда поднимать ничьи, длинный столбец чисел смещается вверх; отправка половины вниз этот сдвиг снимает. Это поведение по умолчанию в IEEE-плавающей точке и в ряде статистических пакетов.
Как округлять до значащих цифр?
Считайте от первой ненулевой цифры, а не от запятой, и округляйте в этом разряде. 0.004567 до двух значащих цифр - 0.0046, а 123456 до трёх - 123000. Страница сама находит этот разряд, а затем округляет обычным образом.
Почему мой калькулятор говорит, что 2.675 округляется до 2.67?
Потому что у него никогда не было 2.675. В двоичной плавающей точке это значение хранится как 2.67499999999999982…, что действительно ниже середины, так что калькулятор правильно округляет то число, которым располагает. Эта страница держит число точной дробью и потому видит ничью, которую калькулятор увидеть не может.
Как округляются отрицательные числа?
Зависит от соглашения - именно поэтому страница показывает все шесть. Школьное правило цифры округляет от нуля и даёт -3 для -2.5. Потолок идёт к плюс бесконечности (-2), пол - к минус бесконечности (-3), а усечение - к нулю (-2).
Чем округление отличается от усечения?
Усечение выбрасывает всё после разряда, что бы там ни стояло: 3.99, усечённое до целого, - это 3. Округление берёт ближайшего соседа, поэтому 3.99 становится 4. Усечение быстрее и всегда смещено к нулю, поэтому оно уместно в счётчике цикла и опасно в деньгах.
В какой момент вычисления округлять?
В самом конце. Округление промежуточных значений выбрасывает информацию, которая ещё нужна, и ошибки накапливаются: поэтому точные ответы на этих страницах держат дроби дробями, а корни корнями, пока вы не попросите десятичную запись.

Другие инструменты по математике

Coddy programming languages illustration

Учите математику с Coddy

НАЧАТЬ