+ 运算符

       

用来求两数之和。

语法

result = expression1+expression2

+ 运算符的语法具有以下几个部分:

部分 描述
result 必需的;任何数值变量
expression1 必需的;任何表达式
expression2 必需的;任何表达式。

说明

在使用 + 运算符时有可能无法确定是做加法还是做字符串连接。为避免混淆,请使用 & 运算符进行连接,并且改进程序代码的可读性。

如果至少有一个表达式不是 Variant,则可运用以下法则:

如果
两个表达式都是数值数据类型 (ByteBooleanIntegerLongSingleDoubleDateCurrency 或是 Decimal) 相加。
两个表达式都是 String 连接。
一个表达式是数值数据类型而另一个是 Null 之外的任意 Variant 相加。
一个表达式是 String 而其它是 Null 之外的任意 Variant 连接。
一个表达式是 Empty Variant 返回另一个不变的表达式作为 result
一个表达式是数值数据类型,而另一个是 String 产生一个类型不匹配错误。
每个表达式都是 Null result Null

如果两个表达式都是 Variant 表达式,则可运用下列规则:

如果
两个 Variant 表达式都是数值 相加。
两个 Variant 表达式都是字符串 连接。
一个 Variant 表达式是数值而另一个是字符串 相加。

对于只有数值数据类型表达式的单纯加法,result 数据类型通常与其中最精确的表达式的数据类型相同。精确度由最低到最高的顺序是 ByteIntegerLongSingleDoubleCurrency Decimal。但下列情况例外:

如果 result
一个 Single 和一个 Long 相加, 一个 Double
result 的数据类型是 LongSingle Date 变体,且越出正确范围, 转换成 Double 变体。
result 的数据类型是 Byte 变体,且超过本身的正确范围时, 转换成 Integer 变体。
result 的数据类型是 Integer 变体,且超过本身的正确范围时, 转换成 Long 变体。
将一个 Date 加到任何数据类型上, 一个 Date

如果有一个或两个表达式是 Null 表达式,则 result Null。如果两个表达式都是 Empty,则 result Integer。但是,如果只有一个表达式是 Empty,则另一个表达式原封不动地作为 result 返回。

注意 加法和减法用到的精确度等级与乘法用到的精确度等级不一样。