/ 演算子 (Visual Basic)
2 つの数値の商を計算し、結果を浮動小数点で返します。
expression1 / expression2
指定項目
expression1
必ず指定します。 任意の数式を指定します。expression2
必ず指定します。 任意の数式を指定します。
サポートされている型
unsigned 型と浮動小数点型を含むすべての数値型、および 10 進型 (Decimal)。
結果
結果は expression1 を expression2 で割った、剰余を含む完全な商です。
The \ 演算子 (Visual Basic) は整数の商を返します。剰余は破棄します。
解説
結果のデータ型は、オペランドの型によって決まります。 オペランドの型と結果のデータ型の関係を次の表に示します。
オペランドのデータ型 |
結果のデータ型 |
---|---|
両方の式が整数型 (SByte、Byte、Short、UShort、Integer、UInteger、Long、ULong) の場合 |
Double |
Single |
|
Decimal |
|
どちらかの式が Double データ型の場合 |
Double |
除算を実行する前に、整数の数式は必ず Double 型に拡大変換されます。 結果を整数型に代入する場合は、結果が Double からその型に変換されます。 このとき、結果がその型に合わなければ、例外がスローされます。 詳細は、このヘルプ ページの「0 による除算」を参照してください。
expression1 または expression2 が Nothing に評価される場合は、式が 0 として扱われます。
0 による除算
expression2 が 0 に評価される場合、/ 演算子はオペランドのデータ型の違いに応じて異なる動作をします。 次の表に、それぞれの動作を示します。
オペランドのデータ型 |
expression2 が 0 の場合の動作 |
---|---|
浮動小数点型 (Single または Double) |
無限大 (PositiveInfinity または NegativeInfinity) を返すか、expression1 も 0 であれば NaN (非数値) を返します |
Decimal |
DivideByZeroException をスローします |
整数 (符号付きまたは符号なし) |
整数型に変換して戻そうとすると、整数型が PositiveInfinity、NegativeInfinity、または NaN を処理できないため OverflowException がスローされます。 |
注意
/ 演算子はオーバーロードできます。つまり、オペランドがクラスや構造体を型として持つ場合に、演算子の動作をそのクラスや構造体で再定義できるという意味です。このようなクラスまたは構造体でこの演算子を使用している場合、再定義された動作を確認してください。詳細については、「演算子プロシージャ (Visual Basic)」を参照してください。
使用例
/ 演算子を使って浮動小数点の除算を実行する例を次に示します。 結果は、2 つのオペランドの商です。
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
この例の式は、2.5 と 3.333333 の値を返します。 たとえ両方のオペランドが整数定数であっても、結果が必ず浮動小数点 (Double) になっていることに注意してください。