/ (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.