/ (Operador, Visual Basic)

Divide dos números y devuelve un resultado de coma flotante.

Sintaxis

expression1 / expression2  

Partes

expression1
Obligatorio. Cualquier expresión numérica.

expression2
Obligatorio. Cualquier expresión numérica.

Tipos admitidos

Todos los tipos numéricos, incluidos los tipos de punto flotante y sin signo y Decimal.

Resultado

El resultado es el cociente completo de expression1 dividido por expression2, incluido cualquier resto.

El operador \ (Visual Basic) devuelve el cociente entero, que descarta el resto.

Comentarios

El tipo de datos del resultado depende de los tipos de operandos. En la tabla siguiente, se muestra cómo se determina el tipo de datos del resultado.

Tipos de datos de operandos Tipos de datos de resultado
Ambas expresiones son tipos de datos enteros (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) Double
Una expresión es un tipo de datos Single y la otra, no es Double Single
Una expresión es un tipo de datos Decimal y la otra, no es Single ni a Double Decimal
Cualquiera de las expresiones es un tipo de datos Double Double

Antes de realizar la división, las expresiones numéricas integrales se amplían a Double. Si asigna el resultado a un tipo de datos entero, Visual Basic intenta convertir el resultado de Double a ese tipo. Esto puede generar una excepción si el resultado no se ajusta a ese tipo. En concreto, consulte "Intento de división por cero" en esta página de ayuda.

Si expression1 o expression2 se evalúa como Nothing, se trata como cero.

Intento de división por cero

Si expression2 se evalúa como cero, el operador / se comporta de manera diferente para los distintos tipos de datos de operandos. En la tabla siguiente, se muestran los comportamientos posibles.

Tipos de datos de operandos Comportamiento si expression2 es cero
Punto flotante (Single o Double) Devuelve infinity (PositiveInfinity o NegativeInfinity) o NaN (no es un número) si expression1 también es cero
Decimal Genera DivideByZeroException
Entero (con signo o sin signo) Intentar convertir de vuelta al tipo entero genera una excepción OverflowException porque los tipos enteros no pueden aceptar PositiveInfinity, NegativeInfinity o NaN

Nota

El operador / puede sobrecargarse, lo que significa que una clase o estructura puede redefinir su comportamiento cuando un operando tiene el tipo de esa clase o estructura. Si el código usa este operador en una clase o estructura de este tipo, asegúrese de que comprende su comportamiento redefinido. Para obtener más información, consulta Operator Procedures.

Ejemplo

En este ejemplo, se usa el operador / para realizar la división de punto flotante. El resultado es el cociente de los dos operandos.

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

Las expresiones del ejemplo anterior devuelven valores de 2,5 y 3,333333. Tenga en cuenta que el resultado siempre es un punto flotante (Double), incluso si ambos operandos son constantes integrales.

Consulte también