/ 运算符 (Visual Basic)
将两个数相除并返回以浮点数表示的结果。
expression1 / expression2
部件
expression1
必选。 任何数值表达式。expression2
必选。 任何数值表达式。
支持的类型
所有数值类型,包括无符号和浮点类型以及 Decimal。
结果
结果是 expression1 除以 expression2 的完整的商,包括任何余数。
\ 运算符 (Visual Basic) 返回整数商,丢掉了余数。
备注
所得结果的数据类型取决于操作数的类型。 下表显示如何确定结果的数据类型。
操作数数据类型 |
结果数据类型 |
---|---|
两个表达式都是整数数据类型(SByte、Byte、Short、UShort、Integer、UInteger、Long、ULong) |
Double |
Single |
|
Decimal |
|
任一表达式为 Double 数据类型 |
Double |
执行除法之前,任何整数数值表达式都会被扩展为 Double。 如果将结果赋给整数数据类型,Visual Basic 会尝试将结果从 Double 转换成这种类型。 如果结果不适合该类型,会引发异常。 有关详细信息,请参见本帮助页上的“尝试用零作除数”。
如果 expression1 或 expression2 计算结果等于 Nothing,则将其视为零。
尝试用零作除数
如果 expression2 的计算结果等于零,则操作数数据类型不同,/ 运算符的行为也不同。 下表显示可能的行为。
操作数数据类型 |
expression2 为零时的行为 |
---|---|
浮点(Single 或 Double) |
如果 expression1 也为零,则返回无穷(PositiveInfinity 或 NegativeInfinity)或 NaN(不是数字) |
Decimal |
|
整数(有符号或无符号) |
尝试转换回整型将引发 OverflowException,因为整型不接受 PositiveInfinity、NegativeInfinity 或 NaN |
备注
/ 运算符可以被“重载”,这意味着当操作数具有某个类或结构的类型时,该类或结构可以重新定义其行为。如果代码在这样的类或结构上使用此运算符,那么您一定要了解其重新定义的行为。有关更多信息,请参见 运算符过程 (Visual Basic)。
示例
本示例使用 / 运算符执行浮点除法。 结果是两个操作数的商。
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
前面的示例中的表达式返回值 2.5 和 3.333333。 请注意,即使两个操作数都是整数常数,结果也始终为浮点类型 (Double)。