/ 演算子 (Visual Basic)

2 つの数値の商を計算し、結果を浮動小数点で返します。

構文

expression1 / expression2  

指定項目

expression1
必須です。 任意の数式。

expression2
必須です。 任意の数式。

サポートされている型

すべての数値型。これには、符号なしおよび浮動小数点型と Decimal が含まれます。

結果

結果は、expression1expression2 で除算した完全な商で、剰余も含まれます。

\ 演算子 (Visual Basic) では整数の商が返され、剰余は捨てられます。

Remarks

結果のデータ型は、オペランドの型によって異なります。 次の表は、結果のデータ型がどのように決定されるかを示しています。

オペランドのデータ型 結果のデータ型
両方の式が整数データ型 (SByteByteShortUShortIntegerUIntegerLongULong) である Double
一方の式が Single データ型であり、もう一方が Double でない Single
一方の式が Decimal データ型であり、もう一方が Single でも Double でもない Decimal
どちらか一方の式が Double データ型である Double

除算を実行する前に、整数の数値式はすべて Double に拡大変換されます。 結果を整数データ型に代入すると、結果は、Visual Basic により Double からその型への変換が試行されます。 結果がその型に合わない場合、例外がスローされる可能性があります。 特に、このヘルプ ページの「0 除算が試行された場合」を参照してください。

expression1 または expression2Nothing に評価される場合、0 として扱われます。

0 除算が試行された場合

expression2 が 0 に評価される場合、/ 演算子の動作は、オペランドのデータ型によって異なります。 次の表に、起こりうる動作を示します。

オペランドのデータ型 expression2 が 0 の場合の動作
浮動小数点 (Single または Double) 無限大 (PositiveInfinity または NegativeInfinity) を返し、expression1 も 0 の場合は NaN (数値ではない) を返す
Decimal DivideByZeroException をスローする
整数 (符号付きまたは符号なし) 整数型への変換を試行すると、整数型は PositiveInfinityNegativeInfinity、または NaN を受け入れることができないため、OverflowException をスローする

注意

/ 演算子を "オーバーロード" できます。つまり、オペランドの型がクラスまたは構造体であるとき、そのクラスまたは構造体で、演算子の動作を再定義できます。 コードで、そのようなクラスまたは構造体に対してこの演算子が使用される場合は、再定義された動作を理解していることを確認してください。 詳細については、「 Operator Procedures」を参照してください。

次の例では、/ 演算子を使用して、浮動小数点除算を実行します。 結果は 2 つのオペランドの商になります。

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

この例の式では、2.5 と 3.333333 の値が返されます。 両方のオペランドが整数定数でも、結果は常に浮動小数点 (Double) になることに注意してください。

関連項目