Syntax |
expression1 + expression2 |
||
Description |
Adds or concatenates two expressions. |
||
Comments |
Addition operates differently depending on the type of the two expressions: |
||
|
If one |
and the other |
then |
|
Numeric |
Numeric |
Perform a numeric add (see below). |
|
String |
String |
Concatenate, returning a string. |
|
Numeric |
String |
A runtime error is generated. |
|
Variant |
String |
Concatenate, returning a String variant. |
|
Variant |
Numeric |
Perform a variant add (see below). |
|
Empty variant |
Empty variant |
Return an Integer variant, value 0. |
|
Empty variant |
Boolean variant |
Return an Integer variant (value 0 or -1) |
|
Empty variant |
Any data type |
Return the non-Empty expression unchanged. |
|
Null variant |
Any data type |
Return Null. |
|
Variant |
Variant |
If either is numeric, add; otherwise, concatenate. |
|
When using + to concatenate two variants, the result depends on the types of each variant at runtime. You can remove any ambiguity by using the & operator. Numeric Add A numeric add is performed when both expressions are numeric (i.e., not variant or string). The result is the same type as the most precise expression, with the following exceptions:. |
||
|
If one |
and the other |
then |
|
Single |
Long |
Double |
|
Boolean |
Boolean |
Integer |
|
A runtime error is generated if the result overflows its legal range Variant Add If both expressions are variants, or one expression is numeric and the other expression is Variant, then a variant add is performed. The rules for variant add are the same as those for normal numeric add, with the following exceptions: If the type of the result is an Integer variant that overflows, then the result is a Long variant. If the type of the result is a Long, Single, or Date variant that overflows, then the result is a Double variant. |
||
Example |
This example assigns string and numeric variable values and then uses the + operator to concatenate the strings and form the sums of numeric variables. Sub Main() |
||
See Also |
& (Operator); Operator Precedence (topic) |
Symbols |