Понимание приоритета

Макросы часто содержат математические формулы. Эти формулы иногда могут быть довольно сложными. Каждый раз, когда формула содержит более одного оператора (например, + или -), VBA необходимо выяснить, в каком порядке выполнять операции. Здесь в игру вступает концепция приоритета. Приоритет – это встроенная логика макросов, которая определяет порядок, в котором выполняются операции. Это нормальный порядок:

Оператор Значение
^ Exponentiation
Negation
* и/ Умножение и деление
Целочисленное деление
Mod Modulus
+ и – Сложение и вычитание

Уведомление что есть две записи в списке приоритетов, в которых есть два оператора. Умножение и деление находятся на том же уровне приоритета, что и сложение и вычитание. Если в формуле используются два или более операторов с одним и тем же уровнем приоритета, тогда операторы вычисляются в формуле слева направо.

Если вы хотите изменить порядок, в котором вычисляется формула, вам нужно использовать круглые скобки. Операции, заключенные в круглые скобки, оцениваются раньше, чем операции вне их. Таким образом, такая формула, как 3 * (4 + 2), даст результат 18, потому что сложение в круглых скобках имеет приоритет над умножением вне скобок. Если бы скобки были опущены, то 3 * 4 + 2 дало бы 14.

Оцените статью
Frestage.ru
Добавить комментарий