/ 运算符 (Visual Basic)

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

语法

expression1 / expression2  

部件

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

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

支持的类型

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

结果

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

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

注解

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

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

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

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

尝试除以零

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

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

注释

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

示例:

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

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

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

另请参阅