算术运算符

算术运算符连接一个或两个数值(数字)类型的变量,构成算术运算表达式。常见的算术运算符有+, -, *, /等。

【Excel VBA】

Excel VBA中的算术运算符如表3-1中所示,其中a和b为数值型变量。

表3-1 Excel VBA中的算术运算符

运算符 说 明 表达式
+ 相加 a+b
- 取负或相减 -a或a-b
* 相乘 a*b
/ 相除 a/b
\ 整除 a\b
Mod 求模运算 a Mod b
^ 指数运算 a^b

下面的过程创建两个短整型变量并给它们赋值,在立即窗口输出这两个变量进行各种算术运算的结果。为了演示整除结果为负数的情况,定义第3个短整型变量并赋给一个负的整数。示例文件的存放路径为Samples\ch03\Excel VBA\算术运算符.xlsm。

code.vba
Sub Test()
  Dim intA As Integer
  Dim intB As Integer
  Dim intC As Integer
  intA = 10
  intB = 3
  intC = -3    '负数用于演示整除结果为负数的情况
  Debug.Print intA + intB  '两个数相加
  Debug.Print intA - intB  '两个数相减
  Debug.Print intA * intB  '两个数相乘
  Debug.Print intA / intB  '两个数相除
  Debug.Print intA \ intB  '两个数整除
  Debug.Print intA \ intC  '两个数整除,结果为负数
  Debug.Print intA Mod intB  '两个数求模,即求相除后的余数
  Debug.Print intA ^ intB  '两个数的指数运算
End Sub

运行过程,在立即窗口中输出各算术运算的结果。

code.vba
13
7
30
3.33333333333333
3
-3
1
1000

可见两个数相除时如果不能整除,返回一个浮点数;两个数整除时返回相除结果的整数部分。在Excel VBA中,如果整除的结果为负数,仍然是取整数部分。

【Python】

Python中的算术运算符如表3-2所示,其中a和b为数字型变量。

表3-2 Python中的算术运算符

运算符 说 明 表达式
+ 两个对象相加 a+b
- 负数或两个对象相减 -a或a-b
* 两个数相乘或字符串等重复扩展 a*b
/ 两个数相除 a/b
// 整除,向下取整。结果为正时返回相除结果的整数部分,结果为负时返回该负数截尾后-1的结果。变量中至少有1个的值为浮点数时,返回浮点数的结果 a//b
% 取模,得到相除后的余数 a%b
** 指数运算 a**b

下面用Python重复3.1.1小节算术运算的示例。

code.python
>>> a=10
>>> b=3
>>> c=-3
>>> a+b  #相加
13
>>> a-b  #相减
7
>>> a*b  #相乘
30
>>> a/b  #相除
3.3333333333333335
>>> a//b  #整除
3
>>> a//c  #整除,结果为负数
-4
>>> a%b  #求模
1
>>> a**b  #指数运算
1000

可见,Python进行算术运算时的结果与Excel VBA的仅有一处不同,即两数整除时结果为负的情况。此时Excel VBA的结果是直接取整,而Python的结果是取整后减去1。