Оператор +
Используется для суммирования двух чисел.
Синтаксис
результат = 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 и обратная связь.