/ 运算符 (Visual Basic)

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

语法

expression1 / expression2  

部件

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

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

支持的类型

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

结果

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

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

注解

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

作数数据类型 结果数据类型
这两个表达式都是整型数据类型(SByte、 Byte、 Short、 UShort、 Integer、 UInteger、 Long、 ULong) Double
一个表达式是 单个 数据类型,另一个表达式不是 Double Single
一个表达式是 十进制 数据类型,另一个表达式不是 Single 或 Double Decimal
任一表达式都是 Double 数据类型 Double

在执行除法之前,任何整型数值表达式都加宽为 Double。 如果将结果分配给整型数据类型,Visual Basic 将尝试将结果从 Double 该类型转换为该类型。 如果结果不适合该类型,则可能会引发异常。 具体而言,请参阅此帮助页上的“已尝试除以零”。

如果 expression1 或 expression2 计算结果为 Nothing,则将其视为零。

尝试除以零

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

作数数据类型 行为(如果 expression2 为零)
浮点 (Single 或 Double) 如果也是零,则返回无穷大(PositiveInfinity或NegativeInfinity),或NaN(而不是数字)expression1
Decimal 抛出 DivideByZeroException
整型 (有符号或无符号) 由于整型类型无法接受PositiveInfinity,NegativeInfinity或者,尝试转换回整型类型引发OverflowExceptionNaN

注释

/可以重载运算符,这意味着当作数具有该类或结构的类型时,类或结构可以重新定义其行为。 如果代码对此类或结构使用此运算符,请确保了解其重新定义的行为。 有关详细信息,请参阅 运算符过程。

示例:

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

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

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

另请参阅