2 つの数を加算します。
numExpr1 + numExpr2
numExpr1、numExpr2
任意の数式。EMPTY のオペランドはゼロとみなされます。
数値データ型の式を加算すると、結果は、ほとんどの場合、Integer、Long、Single、Double、Currency の順で最後のデータ型を持つオペランドと同じデータ型の値になります。例えば、Double 型のオペランドと Integer 型のオペランドで演算した結果のデータ型は、Double 型です。
ただし、次の例外があります。
+ 演算子は、expr1 と expr2 のデータ型に応じて、加算演算子または文字列演算子として解釈されます。次の表は、これらの解釈を示しています。数値のデータ型は、Integer、Long、Single、Double、Currency、日付/時刻 (Variant 型の変数のみ) です。
一方のオペランド |
他方のオペランド |
演算 |
---|---|---|
数値 |
数値 |
加算 |
数値 |
文字列 |
(型の不一致エラーになります) |
数値 |
Variant 型 (NULL 以外) |
加算 |
文字列 |
Variant 型 (NULL 以外) |
文字列連結 |
文字列 |
文字列 |
文字列連結 |
任意の型 |
EMPTY を含む Variant 型 |
最初のオペランドが返されます。 |
任意の型 |
NULL |
NULL が返されます。 |
数値データ型の Variant 型 |
数値データ型の Variant 型 |
加算 |
数値データ型の Variant 型 |
String データ型の Variant 型 |
文字列が数値データ型に変換できる場合は加算。変換できなければ型の不一致エラーになります。 |
String データ型の Variant 型 |
String データ型の Variant 型 |
文字列連結 |
混乱を避けるため、文字列の連結には + 演算子ではなく & 演算子を使用することをお勧めします。
式言語の @Sum 関数
Dim a As Variant
Dim b As Integer
a = "8"
b% = 7
' Use operator for addition.
Print 8 + 7 ' Prints 15
Print a + 7 ' Prints 15
Print 8 + b% ' Prints 15
Print a + b% ' Prints 15
' Use operator for string concatenation.
Print "Hello " + "there" ' Prints "Hello there"
Print a + "7" ' Prints "87"