Перейти к основному содержимому

Арифметические операции

Язык «1С:Элемент» поддерживает стандартные арифметические операции: сложение, вычитание, умножение, деление, возведение в степень, изменение знака и получение остатка от деления. Применимость арифметических операций зависит от типов операндов.

Сложение

Операция сложения + применима для следующих типов:

ОперацияРезультат
Число + ЧислоЧисло
Длительность + ДлительностьДлительность
ДатаВремя + ДлительностьДатаВремя
Дата + ДлительностьДата
Время + ДлительностьВремя
Момент + ДлительностьМомент
Строка + ОбъектСтрока
Строка + НеопределеноСтрока

Особенности:

  • При выполнении операции вида Строка + Объект (конкатенации со строкой) объекты нестрокового типа неявно преобразуются в строку с помощью метода ВСтроку().
  • При выполнении операции вида Строка + Неопределено значение Неопределено преобразуется в строку "undefined".

Вычитание

Операция вычитания - применима для следующих типов:

ОперацияРезультат
Число - ЧислоЧисло
Длительность - ДлительностьДлительность
ДатаВремя - ДлительностьДатаВремя
ДатаВремя - ДатаВремяДлительность
Дата - ДлительностьДата
Время - ДлительностьВремя
Момент - ДлительностьМомент

Умножение

Операция умножения * применима для следующих типов:

ОперацияРезультат
Число * ЧислоЧисло
Длительность * ЧислоДлительность

Деление

Операция деления / применима для следующих типов:

ОперацияРезультат
Число / ЧислоЧисло
Длительность / ЧислоДлительность

Получение остатка от деления

Операция получения остатка от деления % применима для следующих типов:

ОперацияРезультат
Число % ЧислоЧисло

Возведение в степень

Операция возведения в степень ** применима для следующих типов:

ОперацияРезультат
Число ** ЧислоЧисло

Изменение знака

Операция изменения знака (унарный минус) применима для следующих типов:

ОперацияРезультат
- ЧислоЧисло
- ДлительностьДлительность

Приоритет операций

Арифметические выражения вычисляются в следующем порядке:

  1. Выражения в круглых скобках.
  2. - (унарный минус).
  3. Операция **.
  4. Операции *, /, %.
  5. Операция +, -.

Пример

Пример использования арифметических операций
перечисление ВидОперации
Сложение,
Вычитание,
Умножение,
Деление,
Степень,
Остаток
;

метод ВыполнитьОперацию(Операция: ВидОперации, Операнд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
;