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

Runa

Администратор
#1
Есть три варианта округления числа:
1. по правилу "к ближайшему", например 4.4 округляется к 4, а 4.5 - к 5;
2. к меньшему: 4.4 и 4.5 округляется к 4;
3. к большему: 4.4 и 4.5 округляется к 5.

Имеем числовое поле "Исходное" с 1 знаком после запятой. Варианты решения в конструкторе.

1. Добавляем второе числовое поле "Результат" с числом знаков после запятой 0. В его свойстве "Копия из" прописываем поле [Исходное].
Округление по правилу - конструктор.png Округление по правилу - результат.png

2. Добавляем расчётное поле "Результат" и задаём формулу: INT([Исходное])
Округление к меньшему - конструктор.png Округление к меньшему - результат.png

3. Этот вариант крайне редкий и для него требуется больше действий.
Добавляем расчётные поля "Целое" с формулой INT([Исходное]) и "Дробное" с формулой FRAC([Исходное];1)
В составном поле "Проверка" проверяем значение поля "Дробное" на условие больше нуля: [String(Дробное>0?1:0)]
Копируем в числовое поле результат проверки: [Составное]
В расчётном поле получаем результат: [Целое]+[Вариант]
Округление к большему - конструктор.png Округление к большему - результат.png

Допустимые операнды и функции для расчётного поля можно узнать в справке http://runabase.ru/help/field.html#calc.
 
Последнее редактирование: