Runa
Администратор
Есть три варианта округления числа:
1. по правилу "к ближайшему", например 4.4 округляется к 4, а 4.5 - к 5;
2. к меньшему: 4.4 и 4.5 округляется к 4;
3. к большему: 4.4 и 4.5 округляется к 5.
Имеем числовое поле "Исходное" с 1 знаком после запятой. Варианты решения в конструкторе.
1. Добавляем второе числовое поле "Результат" с числом знаков после запятой 0. В его свойстве "Копия из" прописываем поле
![Округление по правилу - результат.png Округление по правилу - результат.png](http://runabase.ru/forum/data/attachments/0/53-371fa17ef4a704da9e67afda323b34d8.jpg)
2. Добавляем расчётное поле "Результат" и задаём формулу:
![Округление к меньшему - результат.png Округление к меньшему - результат.png](http://runabase.ru/forum/data/attachments/0/51-8ecbf83f0dd396a0defcdb1e116e096c.jpg)
3. Этот вариант крайне редкий и для него требуется больше действий.
Добавляем расчётные поля "Целое" с формулой
В составном поле "Проверка" проверяем значение поля "Дробное" на условие больше нуля:
Копируем в числовое поле результат проверки:
В расчётном поле получаем результат:
![Округление к большему - результат.png Округление к большему - результат.png](http://runabase.ru/forum/data/attachments/0/49-cfe89fc3021e753abe2b7042ae6fb6c4.jpg)
Допустимые операнды и функции для расчётного поля можно узнать в справке http://runabase.ru/help/field.html#calc.
1. по правилу "к ближайшему", например 4.4 округляется к 4, а 4.5 - к 5;
2. к меньшему: 4.4 и 4.5 округляется к 4;
3. к большему: 4.4 и 4.5 округляется к 5.
Имеем числовое поле "Исходное" с 1 знаком после запятой. Варианты решения в конструкторе.
1. Добавляем второе числовое поле "Результат" с числом знаков после запятой 0. В его свойстве "Копия из" прописываем поле
[Исходное]
.![Округление по правилу - конструктор.png Округление по правилу - конструктор.png](http://runabase.ru/forum/data/attachments/0/52-8ea7e5f4ecd8393e657d72a2ed7f36ec.jpg)
![Округление по правилу - результат.png Округление по правилу - результат.png](http://runabase.ru/forum/data/attachments/0/53-371fa17ef4a704da9e67afda323b34d8.jpg)
2. Добавляем расчётное поле "Результат" и задаём формулу:
INT([Исходное])
![Округление к меньшему - конструктор.png Округление к меньшему - конструктор.png](http://runabase.ru/forum/data/attachments/0/50-7c56fcadee9cb5f556367a2ef79b1644.jpg)
![Округление к меньшему - результат.png Округление к меньшему - результат.png](http://runabase.ru/forum/data/attachments/0/51-8ecbf83f0dd396a0defcdb1e116e096c.jpg)
3. Этот вариант крайне редкий и для него требуется больше действий.
Добавляем расчётные поля "Целое" с формулой
INT([Исходное])
и "Дробное" с формулой FRAC([Исходное];1)
В составном поле "Проверка" проверяем значение поля "Дробное" на условие больше нуля:
[String(Дробное>0?1:0)]
Копируем в числовое поле результат проверки:
[Составное]
В расчётном поле получаем результат:
[Целое]+[Вариант]
![Округление к большему - конструктор.png Округление к большему - конструктор.png](http://runabase.ru/forum/data/attachments/0/48-320ecdb74ce99f42cc6b9032b221ea2a.jpg)
![Округление к большему - результат.png Округление к большему - результат.png](http://runabase.ru/forum/data/attachments/0/49-cfe89fc3021e753abe2b7042ae6fb6c4.jpg)
Допустимые операнды и функции для расчётного поля можно узнать в справке http://runabase.ru/help/field.html#calc.
Последнее редактирование: