Поделиться через


Оператор +

Используется для суммирования двух чисел.

Синтаксис

результат = expression1 + expression2

Синтаксис оператора + включает три следующих элемента:

Part Описание
result Обязательный элемент; любая числовая переменная.
выражение1 Обязательный элемент; любое выражение.
выражение2 Обязательный элемент, любое допустимое выражение.

Замечания

При использовании + оператора вы не сможете определить, будет ли происходить сложение или объединение строк. Используйте оператор & для объединения, чтобы устранить неоднозначность и предоставить код самостоятельного документирования.

Если хотя бы одно выражение не является Variant, применяются следующие правила.

Если Then
Оба выражения представляют собой числовые типы данных (Byte, Boolean, Integer, Long, Single, Double, Date, Currency или Decimal) Добавлять.
Оба выражения имеют тип String Сцеплять.
Одно выражение разрешается в числовой тип, а другое — в любой подтип типа Variant, за исключением значения Null Добавлять.
Одно выражение разрешается в тип String, а другое — в любой подтип типа Variant, за исключением значения Null Сцеплять.
Одно из выражений — пустойвариант В качестве результата возвращается второе значение без изменений.
Одно выражение разрешается в числовой тип, а другое — в тип String Возникает Type mismatchошибка.
Одно из выражений разрешается в значение Null Результатом будет Null.

Если оба выражения разрешаются в тип Variant, применяются следующие правила.

Если Then
Оба выражения типа Variant являются числовыми Добавлять.
Оба выражения типа Variant являются строками Сцеплять.
Одно выражение типа Variant числовое, а другое строка Добавлять.

Для простого арифметического сложения, включающего только выражения числовых типов данных, типом данныхрезультата обычно является тип самого точного выражения. Порядок точности, от наименее точного к наиболее точному, определяется следующим образом: Byte, Integer, Long, Single, Double, Currency и Decimal. Ниже приведены исключения из этого порядка.

Если Тогда результат
Добавляется один идлинный Число двойной точности.
Тип данных результата — вариант длинного выражения, одиночного числа или даты, выходящий за пределы допустимого диапазона Преобразуется в вариант Double .
Тип данных результата — вариант байта, выходящий за пределы допустимого диапазона Преобразованы в вариант целого число.
Тип данных результата — вариант целого числа, выходящий за пределы допустимого диапазона Преобразованы в вариант длинного целого выражения.
Дата добавляется к любому типу данных Дата.

Если одно или оба выражения разрешаются в значение Null, результатом будет Null. Если оба выражения разрешаются в значение Empty, результатом будет тип Integer. Однако если только одно выражение разрешается в значение Empty, в качестве результата возвращается второе значение без изменений.

Примечание.

Порядок точности, используемый для операций сложения и вычитания, отличается от порядка точности, используемого при умножении.

Пример

В этом примере оператор используется + для суммирования чисел. Оператор + также можно использовать для объединения строк. Однако в целях исключения неоднозначности для конкатенации следует использовать оператор &. Если компоненты выражения, созданного с помощью + оператора, включают как строки, так и числовые значения, назначается арифметический результат. Если компоненты включают только строки, то они объединяются.

Dim MyNumber, Var1, Var2
MyNumber = 2 + 2    ' Returns 4.
MyNumber = 4257.04 + 98112    ' Returns 102369.04.

Var1 = "34": Var2 = 6    ' Initialize mixed variables.
MyNumber = Var1 + Var2    ' Returns 40.

Var1 = "34": Var2 = "6"    ' Initialize variables with strings.
MyNumber = Var1 + Var2    ' Returns "346" (string concatenation).

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.