При округлении 1.5 будет округлено до 2.
Полное описание, параметры и ограничения
РежимОкругления.Окр15как20 (RoundMode.Round15as20)
РежимОкругления (RoundMode)
Окр15как20 (Round15as20)
Доступен, начиная с версии 8.0.
Описание:
При округлении 1.5 будет округлено до 2.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Сравнить округление единицы и итоговой суммы
На небольших числах показываем, почему округление в разном месте формулы даёт разные результаты.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Все значения учебные и создаются в памяти; документы, регистры и рабочие данные не изменяются.
Выполняйте на сервере учебной базы. Представление десятичного разделителя в сообщениях зависит от локали.
ЗначениеЕдиницы = 0.335;
Количество = 3;
ПоЕдиницам = Окр(ЗначениеЕдиницы, 2, РежимОкругления.Окр15как20) * Количество;
ПоИтогу = Окр(ЗначениеЕдиницы * Количество, 2, РежимОкругления.Окр15как20);
Сообщить(ПоЕдиницам);
Сообщить(ПоИтогу);
Сообщить(ПоЕдиницам - ПоИтогу);
Сообщить(Окр(1.5, 0, РежимОкругления.Окр15как10));
Сообщить(Окр(1.5, 0, РежимОкругления.Окр15как20));
Сообщить(Окр(1254, -2));
Сообщить(Цел(3.9));
Сообщить(Цел(-3.9));Разбор по шагам
Первый вариант округляет 0.335 до двух знаков ещё до умножения.
Второй вариант сначала умножает и только затем округляет общий результат.
Оба раза явно выбираем режим Окр15как20; дополнительно сравниваем два режима на 1.5.
Отрицательная разрядность округляет целую часть, а Цел отбрасывает дробную часть и не является округлением до ближайшего целого.
Как проверить результат
По единицам 1.02, по итогу 1.01, разница 0.01.
Окр15как10 для 1.5 даёт 1, Окр15как20 — 2; округление 1254 до сотен даёт 1300.
Цел(3.9)=3 и Цел(-3.9)=-3.
Ожидаемый результат
Разница алгоритмов показана на конкретных числах и явных режимах округления.
На что обратить внимание
Пример не назначает правило расчёта для бухгалтерского документа: используйте согласованные правила вашей конфигурации и договора.
Округление цены, строки и итогов может быть различным; не меняйте порядок операций без проверки контрольных сумм.
Цел для отрицательного значения не равен математическому округлению вниз.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.