/ 運算子 (Visual Basic)

兩數相除並傳回浮點結果。

語法

expression1 / expression2  

組件

expression1
必要。 任何數值運算式。

expression2
必要。 任何數值運算式。

支援的型別

所有數值型別,包括無符號和浮點型別和 Decimal

結果

結果是 expression1 除以 expression2 的商數,包括任何餘數。

\ 運算子 (Visual Basic) 會傳回整數的商數,這會捨棄餘數。

備註

結果的資料類型取決於運算元的類型。 下表顯示如何決定結果的資料類型。

運算元資料類型 結果資料類型
這兩個運算式都是整數資料類型 (SByteByteShortUShortIntegerUIntegerLongULong) Double
一個運算式是 Single 資料類型,且另一個不是 Double Single
一個運算式是 Decimal 資料類型,且另一個不是 SingleDouble Decimal
任一運算式是 Double 資料類型 Double

在進行除法之前,任何整數數值運算式會擴大為 Double。 如果您將結果指派給整數資料類型,Visual Basic 會嘗試將結果從 Double 轉換成該類型。 如果結果不符合該類型,這可能會擲回例外狀況。 請特別參閱此說明頁面上的「嘗試除以零」。

如果 expression1expression2 評估為 Nothing,則會將其視為零。

嘗試除以零

如果 expression2 評估為零,則 / 運算子會針對不同的運算元資料類型以不同的方式運作。 下表顯示可能的行為。

運算元資料類型 如果 expression2 為零的行為
浮點數 (SingleDouble) 傳回無限大 (PositiveInfinityNegativeInfinity),或如果 expression1 不是零,則傳回 NaN (不是數字)
Decimal 擲回 DivideByZeroException
整數 (帶正負號或不帶正負號) 嘗試轉換回整數型別會擲回 OverflowException,因為整數型別無法接受 PositiveInfinityNegativeInfinityNaN

注意

/ 運算子可以「多載」,這表示當運算元具有該類別或結構的型別時,類別或結構可以重新定義其行為。 如果您的程式碼在此類類別或結構上使用此運算子,請務必了解其重新定義的行為。 如需詳細資訊,請參閱 Operator Procedures

範例

此範例使用 / 運算子來執行浮點數除法。 結果是兩個運算元的商數。

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

上述範例中的運算式會傳回 2.5 和 3.333333 的值。 請注意,即使兩個運算元都是整數常數,結果一律是浮點數 (Double)。

另請參閱