Operador / (Visual Basic)

Divide dois números e retorna um resultado de ponto flutuante.

Sintaxe

expression1 / expression2  

Partes

expression1
Obrigatórios. Qualquer expressão numérica.

expression2
Obrigatórios. Qualquer expressão numérica.

Tipos com suporte

Todos os tipos numéricos, incluindo os de ponto flutuante e sem sinal e Decimal.

Result

O resultado é o quociente total de expression1 dividido por expression2, incluindo qualquer resto.

O operador \ (Visual Basic) retorna o quociente inteiro, que descarta o restante.

Comentários

O tipo de dados do resultado depende dos tipos de operandos. A tabela a seguir mostra como o tipo de dados do resultado é determinado.

Tipos de dados de operando Tipos de dados de resultado
Ambas as expressões são tipos de dados integrais (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) Double
Uma expressão é um tipo de dados Simples e a outra não é um Duplo Single
Uma expressão é um tipo de dados Decimal e a outra não é um Simples ou um Duplo Decimal
Qualquer expressão é um tipo de dados Duplo Double

Antes que a divisão seja executada, todas as expressões numéricas integrais são ampliadas para Double. Se você atribuir o resultado a um tipo de dados integral, o Visual Basic tentará converter o resultado desse tipo Double. Isso poderá gerar uma exceção se o resultado não se encaixar nesse tipo. Em particular, confira "Tentativa de Divisão por Zero" nesta página de Ajuda.

Se expression1 ou expression2 for avaliada como Nothing, ela será tratada como zero.

Tentativa de Divisão por Zero

Se expression2 for avaliado como zero, o operador / se comportará de outra forma para diferentes tipos de dados de operando. A tabela a seguir mostra os comportamentos possíveis.

Tipos de dados de operando Comportamento se expression2 for zero
Ponto flutuante (Single ou Double) Retorna infinito (PositiveInfinity ou NegativeInfinity), ou NaN (não é um número) se expression1 também for zero
Decimal Gera DivideByZeroException
Integral (com ou sem sinal) A tentativa de conversão de volta para o tipo integral gera OverflowException porque os tipos integrais não podem aceitar PositiveInfinity, NegativeInfinity ou NaN

Observação

O operador / pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando um operando tem o tipo dessa classe ou estrutura. Se o código usar esse operador em uma classe ou estrutura, certifique-se de entender seu comportamento redefinido. Para obter mais informações, confira Procedimentos de operador.

Exemplo

Este exemplo usa o operador / para executar a divisão de ponto flutuante. O resultado é o quociente dos dois operandos.

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

As expressões no exemplo anterior retornam valores de 2,5 e -3.333333. Observe que o resultado é sempre ponto flutuante (Double), embora ambos os operandos sejam constantes inteiros.

Confira também