/ 运算符 (Visual Basic)

使两个数字相除,返回浮点结果。

语法

expression1 / expression2  

组成部分

expression1
必需。 任何数值表达式。

expression2
必需。 任何数值表达式。

支持的类型

所有数值类型,包括无符号和浮点类型和 Decimal

结果

结果为 expression1 除以 expression2 的完整商,包括任何余数。

\ 运算符 (Visual Basic) 返回整数商,这会删除余数。

注解

结果的数据类型取决于操作数的类型。 下表显示了如何确定结果的数据类型。

操作数数据类型 结果数据类型
这两个表达式都是整型数据类型(SByteByteShortUShortIntegerUIntegerLongULong Double
一个表达式是单一数据类型,另一个表达式不是 Double Single
一个表达式是十进制数据类型,另一个表达式不是单一型Double Decimal
其中一个表达式为 Double 数据类型 Double

在执行除法运算之前,所有整数数值表达式都将扩展到 Double。 如果将结果赋给整数数据类型,Visual Basic 会尝试将结果从 Double 转换为该类型。 如果结果不适合该类型,这可能会引发异常。 具体而言,请参阅此帮助页上的“尝试被零除”。

如果 expression1expression2 的计算结果为 Nothing,则将其视为零。

尝试除以零

如果 expression2 计算结果为零,则 / 运算符的行为不同于不同的操作数数据类型。 下表显示可能的行为。

操作数数据类型 expression2 为零时的行为
浮点(SingleDouble 如果 expression1 也为零,则返回无穷(PositiveInfinityNegativeInfinity),或者 NaN(不是数字)
Decimal 引发 DivideByZeroException
整数(有符号或无符号) 尝试转换回整型类型会引发 OverflowException,因为整型类型不能接受 PositiveInfinityNegativeInfinityNaN

注意

可重载 / 运算符,这意味着当操作数具有某一类或结构时,该类或结构可重新定义其行为。 如果你的代码在这种类或结构上使用此运算符,请确保了解其重新定义的行为。 有关详细信息,请参阅 Operator Procedures

示例

此示例使用 / 运算符来执行浮点除法。 结果是两个操作数的乘积。

Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3

前面的示例中的表达式返回值 2.5 和3.333333。 请注意,结果始终是浮点 (Double),即使两个操作数都是整数常量。

另请参阅