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