Математическое округление чисел 4 5

Excel. Формулы. Округление до кратного


10 января 2020Полная статистика будет доступна после того, как публикация наберет больше 100 просмотров.При работе с числовыми данными операции округления совсем не редки. Чаще всего мы подразумеваем под ними округление до некоторого числа разрядов (обычно — после запятой).

Сюда же можно отнести и округление до десятков, сотен, тысяч и т.д. Однако, иногда возникает необходимость округлить число с нужной точностью, то есть до ближайшего числа, кратного заданному.

Например, 19 округлить с точностью до 5 (результат — 20, ближайшее к 19 число, которое кратно 5).

Для подобного рода округлений в Excel есть встроенная математическая функция ОКРУГЛТ().

Она принимает 2 аргумента:

  1. округляемое число (в примере выше — 19);
  2. точность округления (в примере выше — 5).

Данная функция производит округление с избытком, то есть делит исходное число на указанную точность, и если остаток от деления больше или равен половине точности, то возвращается первое число, которое больше исходного и кратно заданному. Иначе возвращается первое число, которое меньше исходного и кратно заданному. Пример вычисления — на рисунке ниже.

В качестве точности можно указывать и положительные, и отрицательные числа, и десятичные дроби. Единственное правило — знак исходного числа и числа, указывающего точность, должен быть одинаковым, иначе функция вернет ошибку #!ЧИСЛО.Несколько примеров вычисления:Если Вам нужно округлять число с кратностью 10, 100, 1000 и т.д., то можно использовать для этого другую функцию — ОКРУГЛ(). В качестве второго аргумента нужно указать отрицательное число, указывающее на количество разрядов, до которых нужно округлить.

Так, чтобы округлить число 156 до десятков, нужно ввести формулу =ОКРУГЛ(156;-1), а чтобы округлить число 123456 до 1000, ввести =ОКРУГЛ(123456;-3). Иногда нужно получить на выходе число, оканчивающееся, например, на 99 (как на ценниках в магазинах).

В таком случае следует округлить заданное число кратно 100, а затем вычесть единицу.

Формула будет выглядеть так: =ОКРУГЛТ(15678;100)-1 или =ОКРУГЛ(15678;-2)-1, а результат будет равен 15699. Видеоверсию данной статьи смотрите на нашем канале на Чтобы не пропустить новые уроки и постоянно повышать свое мастерство владения Excel — подписывайтесь на наш канал в Telegram Куча интересного по другим офисным приложениям от Microsoft (Word, Outlook, Power Point, Visio и т.д.) — на нашем канале в Telegram Вопросы по Excel можно задать нашему боту обратной связи в Telegram Вопросы по другому ПО (кроме Excel) задавайте второму боту — По заказам и предложениям обращайтесь к нам на сайте С уважением, команда

Первое правило округления

В предыдущих примерах мы видели, что округляя число до определенного разряда, младшие разряды заменяются нулями. Цифры, которые заменяются нулями, называют отбрасываемыми цифрами.

выглядит следующим образом: Если при округлении чисел первая из отбрасываемых цифр 0, 1, 2, 3 или 4, то сохраняемая цифра остаётся без изменений. Например, округлим число 123 до разряда десятков. В первую очередь находим сохраняемую цифру.

Для этого надо прочитать самó задание. В разряде, о котором говорится в задании и находится сохраняемая цифра.

В задании сказано: округлить число 123 до разряда десятков. Видим, что в разряде десятков нахóдится двойка. Значит сохраняемой цифрой является цифра 2 Теперь находим первую из отбрасываемых цифр.

Первой из отбрасываемых цифр является та цифра, которая следует после сохраняемой цифрой.

Видим, что первая цифра после двойки это цифра 3. Значит цифра 3 является первой отбрасываемой цифрой. Теперь применяем правило округления.

Оно говорит, что если при округлении чисел первая из отбрасываемых цифр 0, 1, 2, 3 или 4, то сохраняемая цифра остаётся без изменений. Так и делаем. Оставляем без изменения сохраняемую цифру, а все младшие разряды заменяем нулями. Другими словами, всё что следует после цифры 2 заменяем нулями (точнее нулём): 123 ≈ 120 Значит при округлении числа 123 до разряда десятков, получаем приближённое ему число 120.

Теперь попробуем округлить то же самое число 123, но уже до разряда сотен. Нам требуется округлить число 123 до разряда сотен. Снова ищем сохраняемую цифру.

В этот раз сохраняемой цифрой является 1, поскольку мы округляем число до разряда сотен.

Теперь находим первую из отбрасываемых цифр. Первой из отбрасываемых цифр является та цифра, которая следует после сохраняемой цифрой. Видим, что первая цифра после единицы это цифра 2. Значит цифра 2 является первой отбрасываемой цифрой: Теперь применим правило. Оно говорит, что если при округлении чисел первая из отбрасываемых цифр 0, 1, 2, 3 или 4, то сохраняемая цифра остаётся без изменений.
Оно говорит, что если при округлении чисел первая из отбрасываемых цифр 0, 1, 2, 3 или 4, то сохраняемая цифра остаётся без изменений.

Так и делаем. Оставляем без изменения сохраняемую цифру, а все младшие разряды заменяем нулями. Другими словами, всё что следует после цифры 1 заменяем нулями: 123 ≈ 100 Значит при округлении числа 123 до разряда сотен, получаем приближённое ему число 100.

Пример 3. Округлить число 1234 до разряда десятков. Здесь сохраняемая цифра это 3.

А первая отбрасываемая цифра это 4. Согласно правилу, если при округлении чисел первая из отбрасываемых цифр 0, 1, 2, 3 или 4, то сохраняемая цифра остаётся без изменений.

Значит оставляем сохраняемую цифру 3 без изменений, а всё что располагается после неё заменяем нулём: 1234 ≈ 1230 Пример 4. Округлить число 1234 до разряда сотен. Здесь сохраняемая цифра это 2.

А первая отбрасываемая цифра это 3. Согласно правилу, если при округлении чисел первая из отбрасываемых цифр 0, 1, 2, 3 или 4, то сохраняемая цифра остаётся без изменений. Значит оставляем сохраняемую цифру 2 без изменений, а всё что располагается после неё заменяем нулями: 1234 ≈ 1200 Пример 3.

Округлить число 1234 до разряда тысяч. Здесь сохраняемая цифра это 1. А первая отбрасываемая цифра это 2.

Согласно правилу, если при округлении чисел первая из отбрасываемых цифр 0, 1, 2, 3 или 4, то сохраняемая цифра остаётся без изменений. Значит оставляем сохраняемую цифру 1 без изменений, а всё что располагается после неё заменяем нулями: 1234 ≈ 1000

Округление к целому в .NET

2 августа 2019 в 16:08

  1. ,
  2. ,

Всем ку, товарищи!

Все мы знаем, что такое округление.

Если кто-то забыл, то округление — это замена числа на его приближённое значение, записанное с меньшим количеством значащих цифр.

Если спросить человека с ходу, что получится при округлении 6,5 до целых, он не задумываясь ответит «7».

Нас со школы учили, что числа округляются до ближайшего целого большего по модулю числа. То есть, если в округляемом числе дробная часть равна или больше половине разряда целой части, то мы округляем исходное число до ближайшего большего. Проще говоря: 6,4 = 6 6,5 = 7 6,6 = 7и т.д. И вот, выходя из школы и становясь программистами мы зачастую ожидаем того же поведения от наших мощных языков программирования.

И вот, выходя из школы и становясь программистами мы зачастую ожидаем того же поведения от наших мощных языков программирования.

Совсем забывая, что в школе нас учили «математическому округлению», а на самом деле видов этих округлений намного больше. На одной только википедии вот сколько вариантов округления 0,5 к ближайшему целому числу:

  1. Чередующееся округление
  2. Банковское округление
  3. Математическое округление
  4. Случайное округление

Первый тип, «математическое округление», все мы усвоили со школы. О втором и третьем типе можете почитать на досуге, мне они сегодня в этой заметке не интересны.

А вот «банковское округление» — это уже интересненько. «Почему?» — спросите вы. В дотнете мы часто используем класс Convert, который предоставляет уйму методов для конвертации одного типа данных в другие (не путать с приведением, о нем будет ниже). И вот, оказывается, что при конвертации чисел с плавающей запятой (double, float, decimal) в целочисленный тип int через метод Convert.ToInt32 под капотом работает «банковское» округление.

Оно тут используется по умолчанию!

И вроде как незнание этой мелочи сильно не сказывается на вашей работе, но как только вам приходится работать со статистикой и расчетами показателей, базирующихся на куче всяких записей и циферок эта штука вылазит боком.

Потому что мы ожидаем (от незнания), что все наши конвертации\округления в расчетах будут работать по правилам «математического» округления. И смотрим как баран на новые ворота на результат округления 6,5, который равен 6. Первая мысль программиста, который это видит — «Возможно округление работает в обратную сторону, и по правилам округляется до наименьшего числа?», «Может я что-то забыл из школьной математики?».

Первая мысль программиста, который это видит —

«Возможно округление работает в обратную сторону, и по правилам округляется до наименьшего числа?»

, «Может я что-то забыл из школьной математики?». Дальше он идет в google и понимает что, ничего не забыли, и что творится какая-то чернь.

На этом шаге ленивый разработчик решит, что это стандартное поведение метода Convert.ToInt32, округлять до наименьшего целого, и забьет на дальнейший поиск. И будет думать, что если Convert.ToInt32(6,5) = 6, то по аналогии Convert.ToInt32(7,5) = 7. Но не тут-то было. Таких разработчиков в дальнейшем судьба бьет по голове пачкой багов от отдела QA.

Дело в том, что «банковское» округление работает чуть хитрее — оно округляет число до ближайшего четного целого числа, а не до ближайшего целого по модулю. Этот тип округления якобы более честный в случае применения в банковских операциях — банки не будут обделять ни себя ни клиентов, из расчета, что операций с четной целой частью, сколько же, сколько и операций с нечетной целой частью. Но как по мне — всё равно мутновато 🙂 Так вот, именно поэтому Convert.ToInt32(6,5) даст результат 6, а результат для Convert.ToInt32(7,5) будет равен 8, а не 7 🙂 Что же делать, что бы получить всем привычное «математическое» округления?

У методов класса Convert нет дополнительных настроек округления. Оно и верно, ибо класс этот служит в первую очередь не для округления, а для конвертации типов.

На помощь нам приходит замечательный класс Math с его методом Round. Но тут тоже будьте аккуратны, ибо по умолчанию этот метод работает так же как и округление в Convert.ToInt32() — по «банковскому» правилу. Однако, это поведение можно изменять с помощью второго аргумента, входящего в метод Round.

Так, Math.Round(someNumber, MidpointRounding.ToEven) даст нам дефолтовое «банковское» округление. А вот Math.Round(someNumber, MidpointRounding.AwayFromZero) будет работать по привычным правилам «математического» округления. И кстати, Convert.ToInt32() не использует под капотом System.Math.Round().

Специально нарыл на github этого метода — округление считается по остаткам: public static int ToInt32(double value) { if (value >= 0) { if (value < 2147483647.5) { int result="(int)value;" double dif="value" - result; if (dif> 0.5 || dif == 0.5 && (result & 1) != 0) result++; return result; } } else { if (value >= -2147483648.5) { int result = (int)value; double dif = value — result; if (dif < -0.5 || dif="=" -0.5 && (result & 1) !="0)" result--; return result; } } throw new overflowexception(environment.getresourcestring("overflow_int32")); } и напоследок пару слов о приведении> var number = 6.9; var intNumber = (int)number; В этом примере я привожу тип с плавающей запятой (double в данном случае) к целочисленному int. Так вот, при приведении типов к целочисленному вся не целая часть просто отсекается.

Соответственно, в данном примере в переменной «intNumber» будет лежать число 6.

Никаких правил округления тут нет, просто отсечение всего, что идет после запятой.

Помните об этом! Ссылки по теме: P.S.

Спасибо Максиму Якушкину за то, что обратил внимание на этот неявный момент.

P.P.S. Кстати, в python округление по дефолту работает так же по «банковскому» принципу. Возможно, в вашем языке такая же штука, будьте бдительны с числами 🙂 Теги: Добавить метки Укажите причину минуса, чтобы автор поработал над ошибками Отправить анонимно Пометьте публикацию своими метками Метки лучше разделять запятой.

Например: программирование, алгоритмы Сохранить Ой, у вас баннер убежал!

  1. 17,8k
  2. 60,3k
  3. 24k
  4. 8,5k
  5. 8,3k
  6. 6,5k
  7. Мегапост
  1. 70
  2. 9,5k
  3. +23

Выберите рекомендации для отправки автору: Указан только блог Орфографические ошибки Пунктуационные ошибки Отступы Текст-простыня Короткие предложения Смайлики Много форматирования Картинки Ссылки Оформление кода Рекламный характер Отправить Нарушение Опишите суть нарушения Отправить .NET-разработчик, IT-блогер Поделиться публикацией

  1. 14 13,4k 1
  2. 50 22,2k 26
  3. 28 18,8k 66
  4. 73 22,8k 80

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Правила округления чисел


В основе округления лежат математические правила:

  • Если последняя цифра в округляемом числе больше или равна пяти, необходимо округлять в большую сторону.

    Пример — учитель выставляет ученику оценку за четверть. Его средний балл равен 4,6. Шестёрка больше пяти, соответственно, за четверть ученик получит пятёрку.

  • Эти правила распространяются при округлении до любого количества десятичных знаков. Например, нам нужно округлить число 3,736 до одного знака после запятой.

    Округляем 3,736 до 3,74. А потом округляем до 3,7, так как четвёрка меньше пяти.

  • Правило, обратное предыдущему.

    Если последняя цифра в округляемом числе меньше пяти, округлять будем в меньшую сторону.

    Например, округлим 43,278. Сначала получим 43,28, потом 43,3. Далее будем округлять результат до целого числа. Так как последняя цифра 3 меньше пяти, округлим в меньшую сторону.

    Результат будет равен 43.

В метрологии — науке об округлениях и погрешностях, результат принято округлять до двух значащих цифр. Что же это значит? Значащая цифра — это цифра от первой, отличной от нуля. Есть три случая, для которых есть свои особенности округления:

  • Число больше единицы и является однозначным.
  • Число больше десяти.
  • Число меньше единицы.

Когда мы имеем дело с числами меньше единицы, необходимо округлять результат до двух знаков после запятой.

Например, число 0,7342. Округляем это число до 0,734, а потом до 0,73.

Именно так и должен быть округлён результат. Первый ноль не является значащей цифрой. Попробуем округлить 8,357. Первая цифра 8 является значащей, так как она отлична от нуля.

Соответственно, нам необходимо округлить результат до одного знака после запятой. Согласно правилам, о которых мы говорили выше, результат будет равен 8,4.

Теперь самый сложный случай. Попробуем округлить 47,336. Так как все цифры отличны от нуля, мы будем округлять результат до целого числа. По математическим правилам он будет равен 47. Если мы имеем дело с трёхзначным числом, необходимо округлить результат до двух знаков, после чего умножить на 10 в нужной степени.

Если мы имеем дело с трёхзначным числом, необходимо округлить результат до двух знаков, после чего умножить на 10 в нужной степени. Пример: округляем 4289,346 и получаем 43, умноженное на десять в квадрате.

Именно для того и нужна метрология, чтобы правильно округлять и записывать результат в технической документации. А также для избежания ошибок при ведении расчетов в разработке технических устройств.

Вспомним правила округления.

Мы применяем их для десятичных дробей, заменяя число на его приближённое значение, записанное с меньшим количеством значащих цифр. Зачем нам округление? Например, вы покупаете ноутбук, диагональ которого 17 дюймов.

Сколько это в сантиметрах? — Очевидно, — скажете вы. – В одном дюйме 2,54 сантиметра.

Умножив 17 на 2,54 – получаем 43,18 сантиметра. То есть 43 сантиметра и еще

сантиметра. Но какой практический смысл в сантиметра?

Если десятая доля сантиметра – это миллиметр, то сотую долю сантиметра мы и разглядеть без лупы не сможем. Нам удобно округлить результат до целого – до 43 сантиметров.

Или, если очень хотим, до десятых. И тогда мы получим 43,2 сантиметра.

Округлить до целых – значит заменить десятичную дробь ближайшим к ней целым числом. 1) Например, десятичную дробь 4,2 мы хотим округлить до целых.

Очевидно, что 4 < 4,2><> К какому из целых чисел – к числу 4 или число 5 – находится ближе наша десятичная дробь? Очевидно, что к числу 4. Округляем до четырех.

. Значок

означает «приблизительно равно». 2) Округлим 5,7 до целого числа.

Очевидно, что 5 < 5,7>< 6 и что 5,7 ближе к числу 6, чем к числу> Значит, можно сказать, что

. 3) Как быть с числом 8,5? Очевидно, что 8 < 8,5>< 9 и что 8,5 расположено ровно между числами 8 и>

в этом случае округляем до большего:>

. Аналогично:

– округлили до меньшего.

. Округлить до десятых – значит оставить одну цифру после запятой.

Правила те же самые. Округлим 3,21 до десятых. Это значит, что надо оставить всего одну цифру после запятой.

Получим 3,2. Округлим 4,98 до десятых.

Получим 4,9. Округлим 2,75 до десятых.

Получим 2,8. Округлим 5,678 до десятых. Получим 5,7. Округлить до сотых – значит оставить 2 цифры после запятой. Округлим 3,588765 до сотых. Получим 3,59. Теперь сложный случай. Округлим 4,0000005 до сотых. Что получится? Правильный ответ: 4,00. Звоните нам: 8 (800) 775-06-82 (бесплатный звонок по России) +7 (495) 984-09-27 (бесплатный звонок по Москве) Или нажмите на кнопку «Узнать больше», чтобы заполнить контактную форму.
Звоните нам: 8 (800) 775-06-82 (бесплатный звонок по России) +7 (495) 984-09-27 (бесплатный звонок по Москве) Или нажмите на кнопку «Узнать больше», чтобы заполнить контактную форму.

Мы обязательно Вам перезвоним.

Округление чисел

Числа округляют, когда полная точность не нужна или невозможна.

Запомните!

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

В зависимости от того, до какого разряда надо округлить число, мы заменяем нулями цифру в разрядах единиц, десятков и т.д. Если число округляется до десятков, то нулями заменяем цифру в разряде единицы.

Если число округляется до сотен, то цифра ноль должна стоять и в разряде единиц, и в разряде десятков. Запомните! Число, полученное при округлении, называют приближённым значением данного числа. Записывают результат округления после специального знака «≈».

Этот знак читается как «приближённо равно».

При округлении натурального числа до какого-либо разряда надо воспользоваться правилами округления.

  • Подчеркнуть цифру разряда, до которого надо округлить число.
  • Если справа от подчёркнутой цифры стоит цифра 0, 1, 2, 3 или 4 , то все цифры, которые отделены справа, заменяются нулями. Цифру разряда, до которой округляли, оставляем без изменений.
  • Отделить все цифры, стоящие справа этого разряда вертикальной чертой.
  • Если справа от подчёркнутой цифры стоит цифра 5, 6, 7, 8 или 9 , то все цифры, которые отделены справа, заменяются нулями, а к цифре разряда, до которой округляли, прибавляется 1.

Поясним на примере. Округлим 57 861 до тысяч. Выполним первые два пункта из правил округления.

После подчёркнутой цифры стоит цифра 8, значит к цифре разряда тысяч (у нас это 7) прибавим 1, а все цифры, отделённые вертикальной чертой заменим нулями.

Теперь округлим 756 485 до сотен.

Округлим 364 до десятков. 36|4 ≈ 360 — в разряде единиц стоит 4, поэтому мы оставляем 6 в разряде десятков без изменений. На числовой оси число 364 заключено между двумя «круглыми» числами 360 и 370.

Эти два числа называют приближёнными значениями числа 364 с точностью до десятков. Число 360 — приближённое значение с недостатком, а число 370 — приближённое значение с избытком. В нашем случае, округлив 364 до десятков, мы получили, 360 — приближённое значение с недостатком.

Округлённые результаты часто записывают без нулей, добавляя сокращения «тыс.» (тысяча), «млн.» (миллион) и «млрд.» (миллиард). Примеры:

  1. 3 000 000 = 3 млн.
  2. 8 659 000 = 8 659 тыс.

Округление также применяется для прикидочной проверки ответа в вычислениях.

Пусть нам нужно посчитать: 794 · 52 = До точного вычисления сделаем прикидку ответа, округлив множители до наивысшего разряда.

794 · 52 ≈ 800 · 50 ≈ 40 000 Делаем вывод, что ответ будет близок к 40 000.

794 · 52 = 41 228 Аналогично можно выполнять прикидку округлением и при делении чисел.

Что такое округление?

Нередко случаются ситуации, когда итогом вычисления служит бесконечное число.

Это дробь с неограниченным числом знаков после запятой. Такое чаще всего возникает в результате деления чисел. Среди бесконечных дробей выделяют:

  1. Бесконечная дробь, в которой знаки после запятой не повторяются.
  2. Циклические бесконечные дроби. Это дроби, знаки после запятой у которых повторяются после определенного периода. Например, число 1,24352435 – циклическая бесконечная дробь с циклом в 4 знака.

Циклическая бесконечная дробь в математике считается определенным числом, так как каждое следующее число можно предсказать.

При этом простые бесконечные дроби вычисленными не считается. Наиболее известным не вычисленным числом считается число пи, у которого на сегодняшний день вычислено 2,7 триллиона знаков после запятой.

Зачем округлять числа?

Любой ученик рано или поздно сталкивается с примеров, решить который точно невозможно. Речь идет о операции деления.

Очень мало примеров, в которых деление выполняется нацело. Поэтому на первом этапе знакомства ученики используют остатки. После этого в школе учат делить без остатка, записывая результат в виде десятичной дроби.

Но иногда не получается разделить число до конца даже с применением десятичных дробей.

Это происходит из-за того, что в результате возникает бесконечная дробь. Бесконечными дробями называют числа с бесконечным числом знаков после запятой.

Такие числа можно округлить, но узнать точное значение – невозможно.