Функция ОКРУГЛЕНИЕ
Функция ОКРУГЛЕНИЕ применяется для округления значений и может быть вызвана либо с возвращаемым значением, либо без возвращаемого значения (в качестве оператора).
Вызов функции без возвращаемого значения
При вызове функции без возвращаемого значения, активируется режим автоматического округления всех значений, присваиваемых переменным числового типа формульной части бланка. Округление действует с момента появления данного оператора до отключения округления, окончания формульной части или до задания другого округления. Значения переменных, присвоенные до вызова оператора ОКРУГЛЕНИЕ, не округляются.
ФУНКЦИЯ ОКРУГЛЕНИЕ([ТИП_ЧИСЛО: кол-во_знаков])
Параметры
- кол-во_знаков
- Количество десятичных знаков после запятой. Возможный диапазон от -9 до 9. При вызове функции без входных параметров происходит отключение режима автоматического округления.
Вызов функции с возвращаемым значением
При вызове функции с возвращаемым значением, функция возвращает округленное число и никаким образом не влияет на режим автоматического округления.
ФУНКЦИЯ ТИП_ЧИСЛО: ОКРУГЛЕНИЕ(ТИП_ЧИСЛО: значение [, дес_знаков])
Параметры
- значение
- Исходное число.
- дес_знаков
- Количество десятичных знаков после запятой при округлении. При отсутствии данного параметра выполняется округление по умолчанию до 2-х знаков после запятой, либо до параметра, заданного в последнем вызове оператора ОКРУГЛЕНИЕ
Возвращаемое значение
Округленное число. Если до вызова функции ОКРУГЛЕНИЕ был установлен режим автоматического округления (при помощи оператора ОКРУГЛЕНИЕ), то на этапе присваивания возвращаемого значения переменной произойдет округление значения до количества знаков, установленного режимом автоматического округления.
Пример 1:
а = 12375/1000 // а = 12.375 б = 12% // б = 0,12 ОКРУГЛЕНИЕ(1) а = 12375/1000 // а = 12.4 б = 12% // б = 0,1
Пример 2:
Режим автоматического округления позволяет избежать несоответствия выведенных в поля вывода бланка значений, округляемых в соответствии с форматом поля. Например, в случае, если какая-либо графа является суммой некоторых других.
Пусть графы вывода сумма_1, сумма_2, и итого имеют по два десятичных знака после запятой, тогда при обработке бланка:
ВЫЧИСЛИТЬ // Результат: сумма_1 = 3809.72*1% // сумма_1 = 38.0972 сумма_2 = 1234.56*1% // сумма_2 = 12.3456 итого = сумма_1 + сумма_2 // итого = 50.4428 КОНЕЦ
будет выведено:
Сумма_1: 38.10
Сумма_2: 12.35
______________
Итого: 50.44 (!)
Чтобы избежать несоответствия, можно добавить в начало формульной части функцию ОКРУГЛЕНИЕ.
ВЫЧИСЛИТЬ ОКРУГЛЕНИЕ(2) // Теперь: сумма_1 = 3809.72*1% // сумма_1 = 38.10 сумма_2 = 1234.56*1% // сумма_2 = 12.35 итого = сумма_1 + сумма_2 // итого = 50.45 КОНЕЦ
В выходные поля будет выведено:
Сумма_1: 38.10
Сумма_2: 12.35
______________
Итого: 50.45
Пример 3:
а = ОКРУГЛЕНИЕ (12345.6, -3) // а = 12000 а = ОКРУГЛЕНИЕ (23.5678, 3) // а = 23.568 ОКРУГЛЕНИЕ (2) а = ОКРУГЛЕНИЕ (12.3456) // а = 12.35 ОТЛАДКА(ОКРУГЛЕНИЕ(23.5678, 3)) // В окно "Отладочные сообщения" будет // выведено 23.568 а = ОКРУГЛЕНИЕ (23.5678, 3) // а = 23.57
Разные результаты в двух последних строках связаны с тем, что на этапе присваивания возвращаемого значения переменной происходит округление значения до количества знаков, установленного режимом автоматического округления.