Арифметические операции
Язык «1С:Элемент» поддерживает стандартные арифметические операции: сложение, вычитание, умножение, деление, возведение в степень, изменение знака и получение остатка от деления. Применимость арифметических операций зависит от типов операндов.
Сложение
Операция сложения + применима для следующих типов:
| Операция | Результат |
|---|---|
Число + Число | Число |
Длительность + Длительность | Длительность |
ДатаВремя + Длительность | ДатаВремя |
Дата + Длительность | Дата |
Время + Длительность | Время |
Момент + Длительность | Момент |
Строка + Объект | Строка |
Строка + Неопределено | Строка |
Особенности:
- При выполнении операции вида
Строка+Объект(конкатенации со строкой) объекты нестрокового типа неявно преобразуются в строку с помощью методаВСтроку(). - При выполнении операции вида
Строка+НеопределенозначениеНеопределенопреобразуется в строку"undefined".
Вычитание
Операция вычитания - применима для следующих типов:
| Операция | Результат |
|---|---|
Число - Число | Число |
Длительность - Длительность | Длительность |
ДатаВремя - Длительность | ДатаВремя |
ДатаВремя - ДатаВремя | Длительность |
Дата - Длительность | Дата |
Время - Длительность | Время |
Момент - Длительность | Момент |
Умножение
Операция умножения * применима для следующих типов:
| Операция | Результат |
|---|---|
Число * Число | Число |
Длительность * Число | Длительность |
Деление
Операция деления / применима для следующих типов:
| Операция | Результат |
|---|---|
Число / Число | Число |
Длительность / Число | Длительность |
Получение остатка от деления
Операция получения остатка от деления % применима для следующих типов:
| Операция | Результат |
|---|---|
Число % Число | Число |
Возведение в степень
Операция возведения в степень ** применима для следующих типов:
| Операция | Результат |
|---|---|
Число ** Число | Число |
Изменение знака
Операция изменения знака (унарный минус) применима для следующих типов:
| Операция | Результат |
|---|---|
- Число | Число |
- Длительность | Длительность |
Приоритет операций
Арифметические выражения вычисляются в следующем порядке:
- Выражения в круглых скобках.
-(унарный минус).- Операция
**. - Операции
*,/,%. - Операция
+,-.
Пример
Пример использования арифметических операций
перечисление ВидОперации
Сложение,
Вычитание,
Умножение,
Деление,
Степень,
Остаток
;
метод ВыполнитьОперацию(Операция: ВидОперации, Операнд1: Число, Операнд2: Число): Число
выбор Операция
когда Сложение
возврат Операнд1 + Операнд2
когда Вычитание
возврат Операнд1 - Операнд2
когда Умножение
возврат Операнд1 * Операнд2
когда Деление
если Операнд2 != 0
возврат Операнд1 / Операнд2
иначе
выбросить новый ИсключениеНедопустимыйАргумент("Деление на ноль запрещено.")
;
когда Степень
возврат Операнд1 ** Операнд2
когда Остаток
если Операнд2 != 0
возврат Операнд1 % Операнд2
иначе
выбросить новый ИсключениеНедопустимыйАргумент("Деление на ноль запрещено.")
;
иначе
выбросить новый ИсключениеНедопустимыйАргумент("Неподдерживаемая операция.")
;
;
метод ВыполнитьВычисления()
ВыполнитьОперацию(ВидОперации.Сложение, 20, 30) // 50
ВыполнитьОперацию(ВидОперации.Вычитание, 50, 30) // 20
ВыполнитьОперацию(ВидОперации.Умножение, 20, 30) // 600
ВыполнитьОперацию(ВидОперации.Деление, 2500, 50) // 50
ВыполнитьОперацию(ВидОперации.Степень, 2, 8) // 256
ВыполнитьОперацию(ВидОперации.Остаток, 28, 6) // 4
;