Осваиваем js: округление до целого
Содержание:
- Способы округления чисел
- Как округлить число до тысячных
- Как работать с функциями в Excel
- ОКРУГЛЕНИЕ К БЛИЖАЙШЕМУ ЦЕЛОМУ
- Комментарии
- Floor(Double)
- Эмпирические правила арифметики с округлениями
- В Google Таблицах
- Округление чисел
- Варианты округления 0,5 к ближайшему целому
- Округление в Excel с помощью функции ОКРУГЛ
- Как округлить число функцией ОКРУГЛ
Способы округления чисел
Для округления чисел придумано много способов, они не лишены недостатков, однако часто используются для решения задач. Разберёмся в тонкостях каждого из них.
Если используется стандартная библиотека math, то в начале кода её необходимо подключить. Сделать это можно, например, с помощью инструкции: .
math.ceil() — округление чисел в большую сторону
Функция получила своё имя от термина «ceiling», который используется в математике для описания числа, которое больше или равно заданному.
Любая дробь находится в целочисленном интервале, например, 1.2 лежит между 1 и 2. Функция определяет, какая из границ интервала наибольшая и записывает её в результат округления.
Пример:
math.ceil(5.15) # = 6 math.ceil(6.666) # = 7 math.ceil(5) # = 5
Важно помнить, что функция определяет наибольшее число с учётом знака. То есть результатом округления числа -0.9 будет 0, а не -1.
math.floor() — округление чисел в меньшую сторону
Функция округляет дробное число до ближайшего целого, которое меньше или равно исходному. Работает аналогично функции , но с округлением в противоположную сторону.
Пример:
math.floor(7.9) # = 7 math.floor(9.999) # = 9 math.floor(-6.1) # = -7
math.trunc() — отбрасывание дробной части
Возвращает целое число, не учитывая его дробную часть. То есть никакого округления не происходит, Python просто забывает о дробной части, приводя число к целочисленному виду.
Примеры:
math.trunc(5.51) # = 5 math.trunc(-6.99) # = -6
Избавиться от дробной части можно с помощью обычного преобразования числа к типу int. Такой способ полностью эквивалентен использованию .
Примеры:
int(5.51) # = 5 int(-6.99) # = -6
Нормальное округление
Python позволяет реализовать нормальное арифметическое округление, использовав функцию преобразования к типу int.
И хотя работает по другому алгоритму, результат её использования для положительных чисел полностью аналогичен выводу функции floor(), которая округляет числа «вниз». Для отрицательных аналогичен функции ceil().
Примеры:
math.floor(9.999) # = 9 int(9.999) # = 9 math.ceil(-9.999) # = -9 int(-9.999) # = -9
Чтобы с помощью функции int() округлить число по математическим правилам, необходимо добавить к нему 0.5, если оно положительное, и -0.5, если оно отрицательное.
Тогда операция принимает такой вид: int(num + (0.5 if num > 0 else -0.5)). Чтобы каждый раз не писать условие, удобно сделать отдельную функцию:
def int_r(num): num = int(num + (0.5 if num > 0 else -0.5)) return num
Функция работает также, как стандартная функция округление во второй версии Python (арифметическое округление).
Примеры:
int_r(11.5) # = 12 int_r(11.4) # = 11 int_r(-0.991) # = -1 int_r(1.391) # = 1
round() — округление чисел
round() — стандартная функция округления в языке Python. Она не всегда работает так, как ожидается, а её алгоритм различается в разных версиях Python.
В Python 2
Во второй версии Python используется арифметическое округление. Оно обладает постоянно растущей погрешностью, что приводит к появлению неточностей и ошибок.
Увеличение погрешности вызвано неравным количеством цифр, определяющих, в какую сторону округлять. Всего 4 цифры на конце приводят к округлению «вниз», и 5 цифр к округлению «вверх».
Помимо этого, могут быть неточности, например, если округлить число 2.675 до второго знака, получится число 2.67 вместо 2.68. Это происходит из-за невозможности точно представить десятичные числа типа «float» в двоичном коде.
В Python 3
В третьей версии Python используется банковское округление. Это значит, что округление происходит до самого близкого чётного.
Такой подход не избавляет от ошибок полностью, но уменьшает шанс их возникновения и позволяет программисту добиться большей точности при вычислениях.
Примеры:
round(3.5) # = 4 round(9.5) # = 10 round(6.5) # = 6 round(-6.5) # = -6 round(-7.5) # = -8
Но если вам по каким то причинам нужно округление как в Python 2, то можно воспользоваться функцией написанной нами выше на основе приведения к целому числу.
Округление до сотых
У функции есть ещё один аргумент. Он показывает до какого количества знаков после запятой следует округлять. Таким образом, если нам надо в Python округлить до сотых, этому параметру следует задать значение 2.
Пример округления до нужного знака:
round(3.555, 2) # = 3.56 round(9.515,1) # = 9.5 round(6.657,2) # = 6.66
Как округлить число до тысячных
Правило округления числа до тысячных
Если первая из отброшенных цифр , 1, 2, 3 или 4, то предыдущую цифру не изменяем.
Если первая из отброшенных цифр 5, 6, 7, 8 или 9, то предыдущую цифру увеличиваем на единицу.
Пример кругления числа до тысячных:Чтобы округлить число до тысячных, после запятой нужно оставить лишь три цифры, а четвертую — отбросить. Поскольку отброшенная цифра — 4, предыдущую цифру оставляем без изменений. Читают: «Три целых, семь тысяч восемьсот пятьдесят четыре десятитысячных приближенно равно три целых, семьсот восемьдесят пять тысячных».Чтобы округлить это число до тысячных, после запятой оставляем три цифры, а четвертую — отбрасываем. Отброшенная цифра — 6, значит предыдущую цифру увеличиваем на единицу. Читают: «Тридцать семь целых две тысячи семьдесят шесть десятитысячных приближенно равно тридцать семь целых двести восемь тысячных».Округляя число до тысячных, оставляем после запятой три цифры, а все остальные — отбрасываем. Так как первая из отброшенных цифр — 8, к предыдущей прибавляем единицу. Читают: «Шестьдесят девять целых девяносто девять тысяч девятьсот восемьдесят одна стотысячная приближенно равно семьдесят целых нуль тысячных».Округляем число до тысячных, поэтому после запятой оставляем первые три цифры, а следующие за ними — отбрасываем. Так как первая из отброшенных цифр — 2, то предыдущую цифру не меняем. Читают: «Восемьсот шестьдесят три целых двенадцать тысяч четыреста двадцать три стотысячных приближенно равно восемьсот шестьдесят три целых сто двадцать четыре тысячных».Чтобы округлить данное число до тысячных, первые три цифры, стоящие после запятой, оставляем, а все остальные — отбрасываем. Первая из отброшенных цифр равна 5, а это означает, что предыдущую цифру следует увеличить на единицу. Читают: «Нуль целых триста пятьдесят девять стотысячных приближенно равно нуль целых четыре тысячных».
Как работать с функциями в Excel
Мы рассмотрели самый простой способ убрать лишние знаки. Использовать его довольно удобно, если менять сами данные в таблице нам не нужно. Теперь мы переходим к использованию различных функций. Но сначала я хочу напомнить вам, что это такое, а также как с ними работать.
Функции ускоряют и упрощают вычисления. Например, нам надо посчитать сумму в столбце, в котором 100 значений. Мы можем делать это самым прямым способом “1+20+30+43…” и так 99 раз. Или написать встроенную команду “СУММ”, указать диапазон ячеек, и программа за секунду сделает расчеты.
Первый способ
Чтобы вручную написать формулу в ячейке с использованием функции, обязательно нужно:
- Поставить знак =.
- Правильно указать название.
- Открыть круглую скобку.
- Указать через точку с запятой аргументы, то есть данные, которые будут использоваться.
- Закрыть скобку.
Что может выступать аргументом математических формул:
- число,
- формула,
- диапазон ячеек.
Пример: функция “=СУММ(F21:F30)” посчитает сумму чисел, написанных в столбце F с позиции F21 до F30.
Эти правила нужно запомнить, иначе программа не сможет сделать вычисления, а будет выдавать ошибку такого вида.
Второй способ
Если неудобно писать команды вручную, то можно воспользоваться библиотекой, которая находится во вкладке “Формулы”.
Нас в данный момент интересуют математические операции. Нажимаем на соответствующий раздел и выбираем нужную процедуру.
Откроется диалоговое окно, в котором легко понять, какие аргументы нужно указать. Заполните поля и нажмите “ОК”.
ОКРУГЛЕНИЕ К БЛИЖАЙШЕМУ ЦЕЛОМУ
Округление к ближайшему целому до N-го знака осуществляется по следующему правилу:
- если N+1 знак < 5, то N-ый знак остается без изменений, а все знаки после N-го отбрасываются (обнуляются);
- если N+1 знак > 5, то N-ый знак увеличивают на единицу, а все знаки после N-го отбрасываются (обнуляются).
Примеры округления до 2 знаков после запятой:
2.4545 → 2.452.4564 → 2.46
По способам округления числа в случае когда N+1 знак равен 5, выделяются следующие виды округления к ближайшему целому:
- Математическое округление;
- Банковское округление;
- Случайное округление;
- Чередующееся округление.
Математическое округление в случае если N+1 знак = 5 увеличивает N-й знак на единицу, а все знаки после N-го отбрасываются (обнуляются).
Пример математического округления до 2-х знаков после запятой:
2.4554 → 2.46
Данное округление в ABL реализовано в функции ROUND.
ROUND(iRnd, n)
- iRnd — округляемое значение;
- n — знак до которого осуществляется округление.
Банковское округление отличается от математического тем, что предполагает округление в таком случае к ближайшему четному числу. Т.е. результатом округления числа 2.5 при математическом округлении будет 3, а при банковском 2.
FUNCTION BankRound RETURNS DECIMAL (INPUT iRnd AS DEC, INPUT n AS INT). DEF VAR ChkFor5 AS INTEGER NO-UNDO. DEF VAR B_Round AS DECIMAL NO-UNDO. B_Round = ROUND(iRnd,n). ChkFor5 = ROUND(((TRUNCATE(iRnd, n + 1) - TRUNCATE(iRnd,n)) * EXP(10, n + 1)),0). IF ChkFor5 = 5 THEN DO: IF ((TRUNCATE(iRnd,n) * EXP(10,n)) MOD 2) = 0 THEN B_Round = TRUNCATE(i,n). END. RETURN B_Round.END FUNCTION.
Случайное округление осуществляет равновероятное округление числа 5 как в меньшую (N-ый знак остается без изменений) так и в большую (N-ый знак увеличивают на единицу) стороны. Например, в момент округления значения можно генерировать случайное целое число в пределах . Если полученное число равно нулю, то округление осуществляется в меньшую сторону, если единице, то в большую.
FUNCTION RandomRound RETURNS DECIMAL (INPUT iRnd AS DEC, INPUT n AS INT). DEF VAR vResult AS DECIMAL NO-UNDO. DEF VAR ChkFor5 AS INTEGER NO-UNDO. DEF VAR vRandom AS DECIMAL NO-UNDO. vRandom = RANDOM(0,1). vResult = TRUNCATE(iRnd,n). ChkFor5 = ROUND(((TRUNCATE(iRnd, n + 1) - TRUNCATE(iRnd,n)) * EXP(10, n + 1)),0). IF ChkFor5 = 5 THEN vResult = vResult + vRandom * EXP(10, - n). RETURN vResult.END FUNCTION.
Чередующееся округление осуществляет округление числа 5 поочередно то в меньшую, то в большую стороны. Данное округление очевидно применимо при необходимости округления массива чисел, а не единичного числа.
Комментарии
Поведение этого метода соответствует стандарту IEEE 754, разделу 4.The behavior of this method follows IEEE Standard 754, section 4. Этот тип округления иногда называют округлением в сторону отрицательной бесконечности.This kind of rounding is sometimes called rounding toward negative infinity.
Floor(Double)
Возвращает наибольшее целое число, которое меньше или равно заданному числу с плавающей запятой двойной точности.Returns the largest integral value less than or equal to the specified double-precision floating-point number.
-
d
- Double
Число двойной точности с плавающей запятой.A double-precision floating-point number.
Возвращаемое значение
- Double
Наибольшее целое число, которое меньше или равно .The largest integral value less than or equal to . Если значение параметра равно NaN, NegativeInfinity или PositiveInfinity, возвращается это значение.If is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned.
Примеры
В следующем примере показан метод и его отличие от метода.The following example illustrates the method and contrasts it with the method.
Комментарии
Поведение этого метода соответствует стандарту IEEE 754, разделу 4.The behavior of this method follows IEEE Standard 754, section 4. Этот тип округления иногда называют округлением в сторону отрицательной бесконечности.This kind of rounding is sometimes called rounding toward negative infinity. Иными словами, если является положительным, любой дробный компонент усекается.In other words, if is positive, any fractional component is truncated. Если имеет отрицательное значение, присутствие любого компонента дробной части приводит к округлению его до меньшего целого числа.If is negative, the presence of any fractional component causes it to be rounded to the smaller integer. Операция этого метода отличается от Ceiling метода, который поддерживает округление в сторону положительной бесконечности.The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.
Начиная с Visual Basic 15,8, производительность преобразования типа «двойное в целое число» оптимизирована, если передать значение, возвращаемое методом, в любую функцию целочисленного преобразованияили если значение Double, возвращаемое, автоматически преобразуется в целое число с параметром Option-on , равным OFF.Starting with Visual Basic 15.8, the performance of Double-to-integer conversion is optimized if you pass the value returned by the method to the any of the integral conversion functions, or if the Double value returned by is automatically converted to an integer with Option Strict set to Off. Эта оптимизация позволяет коду выполняться быстрее — до двух раз быстрее для кода, который выполняет большое количество преобразований в целочисленные типы.This optimization allows code to run faster — up to twice as fast for code that does a large number of conversions to integer types. В следующем примере показаны оптимизированные преобразования:The following example illustrates such optimized conversions:
Эмпирические правила арифметики с округлениями
В тех случаях, когда нет необходимости в точном учёте вычислительных погрешностей, а требуется лишь приблизительно оценить количество точных цифр в результате расчёта по формуле, можно пользоваться набором простых правил округлённых вычислений:
Все исходные значения округляются до реальной точности измерений и записываются с соответствующим числом значащих цифр, так, чтобы в десятичной записи все цифры были надёжными (допускается, чтобы последняя цифра была сомнительной). При необходимости значения записываются со значащими правыми нулями, чтобы в записи указывалось реальное число надёжных знаков (например, если длина в 1 м реально измерена с точностью до сантиметров, записывается «1,00 м», чтобы было видно, что в записи надёжны два знака после запятой), или точность явно указывается (например, 2500±5 м — здесь надёжными являются только десятки, до них и следует округлять).
Промежуточные значения округляются с одной «запасной» цифрой.
При сложении и вычитании результат округляется до последнего десятичного знака наименее точного из параметров (например, при вычислении значения 1,00 м + 1,5 м + 0,075 м результат округляется до десятых метра, то есть до 2,6 м). При этом рекомендуется выполнять вычисления в таком порядке, чтобы избегать вычитания близких по величине чисел и производить действия над числами по возможности в порядке возрастания их модулей.
При умножении и делении результат округляется до наименьшего числа значащих цифр, которое имеют множители или делимое и делитель
Например, если тело при равномерном движении прошло дистанцию 2,5 × 103 метров за 635 секунд, то при вычислении скорости результат должен быть округлён до 3,9 м/с, поскольку одно из чисел (расстояние) известно лишь с точностью до двух значащих цифр.
Важное замечание: если один операндов при умножении или делитель при делении является по смыслу целым числом (то есть не результатом измерений непрерывной физической величины с точностью до целых единиц, а, например, количеством или просто целой константой), то количество значащих цифр в нём на точность результата операции не влияет, и оставляемое число цифр определяется только вторым операндом. Например, кинетическая энергия тела массой 0,325 кг, движущегося со скоростью 5,2 м/с, равна Ek=mv22=0.325⋅5.222=4.394≈4.4{\displaystyle E_{k}={\tfrac {mv^{2}}{2}}={\tfrac {0.325\cdot 5.2^{2}}{2}}=4.394\approx 4.4} Дж — округляется до двух знаков (по количеству значащих цифр в значении скорости), а не до одного (делитель 2 в формуле), так как значение 2 по смыслу — целая константа формулы, она является абсолютно точной и не влияет на точность вычислений (формально такой операнд можно считать «измеренным с бесконечным числом значащих цифр»).
При вычислении значения функции f(x){\displaystyle f\left(x\right)} требуется оценить значение модуля производной этой функции в окрестности точки вычисления
Если |f′(x)|⩽1{\displaystyle \left|f’\left(x\right)\right|\leqslant 1}, то результат функции точен до того же десятичного разряда, что и аргумент. В противном случае результат содержит меньше точных десятичных разрядов на величину log10(|f′(x)|){\displaystyle \log _{10}\left(\left|f’\left(x\right)\right|\right)}, округлённую до целого в большую сторону.
Несмотря на нестрогость, приведённые правила достаточно хорошо работают на практике, в частности, из-за достаточно высокой вероятности взаимопогашения ошибок, которая при точном учёте погрешностей обычно не учитывается.
В Google Таблицах
Если вы любите работать в режиме онлайн, то можете задать формулу для округления данных в Google Таблицах.
Чтобы изменить формат ячеек, используйте опцию на основной панели инструментов.
Для уменьшения или увеличения разрядности также есть соответствующий инструмент.
Чтобы открыть перечень встроенных формул, нажмите на маленький черный треугольник рядом со значком суммы.
Чтобы округлить данные в ячейках, наводим курсор на математические функции и выбираем один из вариантов:
- ОТБР,
- ОКРУГЛ,
- ОКРУГЛВВЕРХ,
- ОКРУГЛВНИЗ,
- ОКРВВЕРХ,
- ОКРВНИЗ,
- ЦЕЛОЕ,
- ЧЁТН,
- НЕЧЁТН.
Работают они точно так же, как в Excel, но в Google Таблицах нет действий “ОКРВНИЗ.МАТ” и “ОКРВВЕРХ.МАТ”. Вместо них можно использовать “ОКРУГЛТ”, эта функция округляет до ближайшей кратной определенному числу величины. То есть в данном случае программа сама решает, в большую или меньшую сторону изменятся исходные данные.
Округление чисел
Для нахождения приближенного значения применяется такое действие как округление чисел.
Слово «округление» говорит само за себя. Округлить число значит сделать его круглым. Круглым называется число, которое оканчивается нулём. Например, следующие числа являются круглыми:
10, 20, 30, 100, 300, 700, 1000
Любое число можно сделать круглым. Процедуру, при которой число делают круглым, называют округлением числá.
Мы уже занимались «округлением» чисел, когда делили большие числа. Напомним, что для этого мы оставляли без изменения цифру, образующую старший разряд, а остальные цифры заменяли нулями. Но это были лишь наброски, которые мы делали для облегчения деления. Своего рода лайфхак. По факту, это даже не являлось округлением чисел. Именно поэтому в начале данного абзаца мы взяли слово округление в кавычки.
На самом деле, суть округления заключается в том, чтобы найти ближайшее значение от исходного. При этом, число может быть округлено до определённого разряда — до разряда десятков, разряда сотен, разряда тысяч.
Рассмотрим простой пример на округление. Дано число 17. Требуется округлить его до разряда десятков.
Не забегая вперёд попробуем понять, что означает «округлить до разряда десятков». Когда говорят округлить число 17, то надо понимать, что от нас требуют найти ближайшее круглое число от числá 17. Причём в ходе этого поиска возможно изменения коснутся и той цифры, которая располагается в разряде десятков числá 17 (т.е цифры 1).
Предстáвим числа от 10 до 20 с помощью следующего рисунка:
На рисунке видно, что для числá 17 ближайшее круглое число это число 20. Значит ответ к задаче таким и будет: «17 приближённо равно 20″
17 ≈ 20
Мы нашли приближённое значение для 17, то есть округлили его до разряда десятков. Видно, что после округления в разряде десятков появилась новая цифра 2.
Попробуем найти приближённое число для числа 12. Для этого снова предстáвим числа от 10 до 20 с помощью рисунка:
На рисунке видно, что ближайшее круглое число для 12 это число 10. Значит ответ к задаче таким и будет: 12 приближённо равно 10
12 ≈ 10
Мы нашли приближённое значение для 12, то есть округлили его до разряда десятков. В этот раз цифра 1, которая стояла в разряде десятков в числе 12, не пострадала от округления. Почему так получилось мы расскажем позже.
Попробуем найти ближайшее число для числá 15. Снова предстáвим числа от 10 до 20 с помощью рисунка:
На рисунке видно, что число 15 одинаково удалено от круглых чисел 10 и 20. Возникает вопрос: которое из этих круглых чисел будет приближённым значением для числа 15? Для таких случаев условились принимать бóльшее число за приближённое. 20 больше чем 10, поэтому приближённое значение для 15 будет число 20
15 ≈ 20
Округлять можно и большие числа. Естественно, для них делать рисунки и изображать числа не представляется возможным. Для них существует свой способ. Например, округлим число 1456 до разряда десятков.
Итак, мы должны округлить 1456 до разряда десятков. Разряд десятков начинается на пятёрке:
Теперь о существовании первых цифр 1 и 4 временно забываем. Остается число 56
Теперь смотрим, какое круглое число находится ближе к числу 56. Очевидно, что ближайшее круглое число для 56 это число 60. Значит заменяем число 56 на число 60
Значит при округлении числа 1456 до разряда десятков полýчим 1460
1456 ≈ 1460
Видно, что после округления числа 1456 до разряда десятков, изменения коснулись и самогó разряда десятков. В новом полученном числе в разряде десятков теперь располагается цифра 6, а не 5.
Округлять числа можно не только до разряда десятков. Округлять число можно до разряда сотен, тысяч, десятков тысяч и так далее.
После того, как станóвится ясно, что округление это ни что иное как поиск ближáйшего числá, можно применять готовые правила, которые значительно облегчают округление чисел.
Варианты округления 0,5 к ближайшему целому
Отдельного описания требуют правила округления для специального случая, когда (N+1)-й знак = 5, а последующие знаки равны нулю. Если во всех остальных случаях округление до ближайшего целого обеспечивает меньшую погрешность округления, то данный частный случай характерен тем, что для однократного округления формально безразлично, производить его «вверх» или «вниз» — в обоих случаях вносится погрешность ровно в 1/2 младшего разряда. Существуют следующие варианты правила округления до ближайшего целого для данного случая:
- Математическое округление — округление всегда в бо́льшую по модулю сторону (предыдущий разряд всегда увеличивается на единицу).
- Банковское округление (англ. banker’s rounding) — округление для этого случая происходит к ближайшему чётному, то есть 2,5 → 2; 3,5 → 4.
- Случайное округление — округление происходит в меньшую или большую сторону в случайном порядке, но с равной вероятностью (может использоваться в статистике). Также часто используется округление с неравными вероятностями (вероятность округления вверх равна дробной части), этот способ делает накопление ошибок случайной величиной с нулевым математическим ожиданием.
- Чередующееся округление — округление происходит в меньшую или большую сторону поочерёдно.
Во всех вариантах в случае, когда (N+1)-й знак не равен 5 или последующие знаки не равны нулю, округление происходит по обычным правилам: 2,49 → 2; 2,51 → 3.
Математическое округление просто формально соответствует общему правилу округления (см. выше). Его недостатком является то, что при округлении большого числа значений, которые далее будут обрабатываться совместно, может происходить накопление ошибки округления. Типичный пример: округление до целых рублей денежных сумм, выражаемых в рублях и копейках. В реестре из 10 000 строк (если считать копеечную часть каждой суммы случайным числом с равномерным распределением, что обычно вполне допустимо) окажется в среднем около 100 строк с суммами, содержащими в части копеек значение 50. При округлении всех таких строк по правилам математического округления «вверх» сумма «итого» по округлённому реестру окажется на 50 рублей больше точной.
Три остальных варианта как раз и придуманы для того, чтобы уменьшить общую погрешность суммы при округлении большого количества значений. Округление «до ближайшего чётного» исходит из предположения, что при большом числе округляемых значений, имеющих 0,5 в округляемом остатке, в среднем половина из них окажется слева, а половина — справа от ближайшего чётного, таким образом, ошибки округления взаимно погасятся. Строго говоря, предположение это верно лишь тогда, когда набор округляемых чисел обладает свойствами случайного ряда, что обычно верно в бухгалтерских приложениях, где речь идёт о ценах, суммах на счетах и так далее. Если же предположение будет нарушено, то и округление «до чётного» может приводить к систематическим ошибкам. Для таких случаев лучше работают два следующих метода.
Два последних варианта округления гарантируют, что примерно половина специальных значений будет округлена в одну сторону, половина — в другую. Но реализация таких методов на практике требует дополнительных усилий по организации вычислительного процесса.
- Округление в случайную сторону требует для каждой округляемой строки генерировать случайное число. При использовании псевдослучайных чисел, создаваемых линейным реккурентным методом, для генерации каждого числа требуется операция умножения, сложения и деления по модулю, что для больших объёмов данных может существенно замедлить расчёты.
- Чередующееся округление требует хранить флаг, показывающий, в какую сторону последний раз округлялось специальное значение, и при каждой операции переключать значение этого флага.
Округление в Excel с помощью функции ОКРУГЛ
Функция ОКРУГЛ часто используется в Excel для округления чисел. С ее помощью вы можете задать количество чисел после запятой.
Аргументы функции
- число – числовое значение, которое вы хотите округлить;
- число_разрядов – значение десятичного разряда, до которого вы хотите округлить первый аргумент функции.
Основы использования функции
- если аргумент число_разрядов больше “0”, то число округляется до указанного количества десятичных знаков. Например, =ОКРУГЛ(500,51;1) вернет “500.5”;
- если аргумент число_разрядов равен “0”, то число округляется до ближайшего целого числа. Например, =ОКРУГЛ(500,51;0) вернет “501”;
- если аргумент число_разрядов меньше “0”, то число округляется влево от десятичного значения. Например, =ОКРУГЛ(500,51;-1) вернет “501”.
Функция ОКРУГЛ работает на основе математического правила, по которому она определяет в большую или меньшую сторону следует округлить число:
- Если число после запятой равно от 0 до 4, то округление будет произведено в меньшую сторону;
- Если число после запятой равно от 5 до 9, то функция округлит в большую сторону.
Как округлить число функцией ОКРУГЛ
ОКРУГЛ – это основная функция округления чисел в Excel, которая округляет число до указанного количества знаков.
Синтаксис :
Число — любое действительное число, которое вы хотите округлить. Это может быть число или ссылка на ячейку.
Число_разрядов — количество знаков для округления числа. Вы можете указать положительное или отрицательное значение в этом аргументе:
Если число_разрядов больше 0, число округляется до указанного количества десятичных знаков. Например, =ОКРУГЛ(17,25; 1) округляет число 17,25 до 17,3.
Чтобы округлить число до десятых, укажите в аргументе число_разрядов значение равное 1.
Как округлить число в Excel – Как округлить число до десятых
Если необходимо округлить число до сотых, задайте аргумент число_разрядов равным 2.
Как округлить число в Excel – Как округлить число до сотых
Для того чтобы округлить число до тысячных, введите 3 в число_разрядов.
Как округлить число в Excel – Как округлить число до тысячных
- Если число_разрядов меньше 0, все десятичные разряды удаляются, а число округляется слева от десятичной точки (до десятых, до сотен, до тысяч и т. д.). Например, =ОКРУГЛ(17,25; -1) округляет 17,25 к ближайшему кратному 10 числу и возвращает в результате 20.
- Если число_разрядов равно 0, число округляется до ближайшего целого числа (без десятичных знаков). Например, =ОКРУГЛ(17,25; 0) округляет 17,25 до 17.
На следующем изображении демонстрируются несколько примеров, как округлить число в Excel в формуле ОКРУГЛ: