/ (Operador, Visual Basic)
Divide dos números y devuelve un resultado de punto flotante.
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, sin signo y Decimal.
Resultado
El resultado es el cociente completo de expression1 dividido por expression2, incluido cualquier resto.
\ (Operador, Visual Basic) devuelve el cociente entero, que omite el resto.
Comentarios
El tipo de datos del resultado depende de los tipos de los operandos. En la tabla siguiente se muestra cómo se determina el tipo de datos del resultado.
Tipos de datos de operando |
Tipo de datos de resultado |
---|---|
Ambas expresiones son tipos de datos integrales (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) |
Double |
Una expresión es un tipo de datos Single numérico y la otra no es Double |
Single |
Una expresión es un tipo de datos Decimal y la otra no es Single ni Double |
Decimal |
Cualquier expresión es un tipo de datos Double |
Double |
Antes de que se realice la división, cualquier expresión numérica entera se amplía 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 producir una excepción si el resultado no se ajusta a ese tipo. Vea en particular "División por cero intentada" en esta página de Ayuda.
Si se evalúa expression1 o expression2 como Nothing, se trata como si fuese cero.
Intento de dividir por cero
Si se evalúa expression2 como cero, el operador / se comporta de manera diferente para los distintos tipos de datos de operando. En la siguiente tabla se muestran los posibles comportamientos.
Tipos de datos de operando |
Comportamiento si expression2 es cero |
---|---|
Punto flotante (Single o Double) |
Devuelve infinito (PositiveInfinity o NegativeInfinity) o NaN (no es un número) si expression1 también es cero |
Decimal |
Produce DivideByZeroException |
Entero (con signo o sin signo) |
La conversión intentada recuperando el tipo integral produce una OverflowException porque los tipos integrales no pueden aceptar PositiveInfinity, NegativeInfinity ni NaN |
Nota
El operador / se puede sobrecargar, lo que significa que una clase o una estructura pueden definir de nuevo su comportamiento cuando un operando tiene el tipo de dicha clase o estructura. Si el código utiliza este operador en una clase o estructura de este tipo, asegúrese de conocer su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador (Visual Basic).
Ejemplo
En este ejemplo se usa el operador / para realizar una división de punto flotante. El resultado será el cociente de ambos operandos.
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
Las expresiones en el ejemplo anterior devuelven valores de 2,5 y 3,333333. Observe que el resultado es siempre de punto flotante (Double), aunque ambos operandos sean constantes enteras.
Vea también
Referencia
Tipos de datos de resultados de operador (Visual Basic)
Operadores aritméticos (Visual Basic)
Prioridad de operador en Visual Basic
Operadores enumerados por funcionalidad (Visual Basic)