/ 運算子 (Visual Basic)
兩數相除並傳回浮點結果。
語法
expression1 / expression2
組件
expression1
必要。 任何數值運算式。
expression2
必要。 任何數值運算式。
支援的型別
所有數值型別,包括無符號和浮點型別和 Decimal
。
結果
結果是 expression1
除以 expression2
的商數,包括任何餘數。
\ 運算子 (Visual Basic) 會傳回整數的商數,這會捨棄餘數。
備註
結果的資料類型取決於運算元的類型。 下表顯示如何決定結果的資料類型。
運算元資料類型 | 結果資料類型 |
---|---|
這兩個運算式都是整數資料類型 (SByte、Byte、Short、UShort、Integer、UInteger、Long、ULong) | Double |
一個運算式是 Single 資料類型,且另一個不是 Double | Single |
一個運算式是 Decimal 資料類型,且另一個不是 Single 或 Double | Decimal |
任一運算式是 Double 資料類型 | Double |
在進行除法之前,任何整數數值運算式會擴大為 Double
。 如果您將結果指派給整數資料類型,Visual Basic 會嘗試將結果從 Double
轉換成該類型。 如果結果不符合該類型,這可能會擲回例外狀況。 請特別參閱此說明頁面上的「嘗試除以零」。
如果 expression1
或 expression2
評估為 Nothing,則會將其視為零。
嘗試除以零
如果 expression2
評估為零,則 /
運算子會針對不同的運算元資料類型以不同的方式運作。 下表顯示可能的行為。
運算元資料類型 | 如果 expression2 為零的行為 |
---|---|
浮點數 (Single 或 Double ) |
傳回無限大 (PositiveInfinity 或 NegativeInfinity),或如果 expression1 不是零,則傳回 NaN (不是數字) |
Decimal |
擲回 DivideByZeroException |
整數 (帶正負號或不帶正負號) | 嘗試轉換回整數型別會擲回 OverflowException,因為整數型別無法接受 PositiveInfinity、NegativeInfinity 或 NaN |
注意
/
運算子可以「多載」,這表示當運算元具有該類別或結構的型別時,類別或結構可以重新定義其行為。 如果您的程式碼在此類類別或結構上使用此運算子,請務必了解其重新定義的行為。 如需詳細資訊,請參閱 Operator Procedures。
範例
此範例使用 /
運算子來執行浮點數除法。 結果是兩個運算元的商數。
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
上述範例中的運算式會傳回 2.5 和 3.333333 的值。 請注意,即使兩個運算元都是整數常數,結果一律是浮點數 (Double
)。