/ Operador (Visual Basic)
Divide dois números e retorna um resultado de vírgula flutuante.
Sintaxe
expression1 / expression2
Partes
expression1
Obrigatório. Qualquer expressão numérica.
expression2
Obrigatório. Qualquer expressão numérica.
Tipos suportados
Todos os tipos numéricos, incluindo os tipos não assinados e de vírgula flutuante e Decimal
.
Result
O resultado é o quociente completo de expression1
dividido por expression2
, incluindo qualquer restante.
O operador \ (Visual Basic) retorna o quociente inteiro, que descarta o restante.
Observações
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 | Tipo 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 Single e a outra não é um Double | Single |
Uma expressão é um tipo de dados decimal e a outra não é um Single ou um Double | Decimal |
Qualquer expressão é um tipo de dados Double | Double |
Antes da divisão ser realizada, 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 de Double
para esse tipo. Isso pode gerar uma exceção se o resultado não se encaixar nesse tipo. Em particular, consulte "Tentativa de divisão por zero" nesta página de Ajuda.
Se expression1
ou expression2
avalia como Nada, é tratado como zero.
Tentativa de divisão por zero
Se expression2
for avaliado como zero, o /
operador se comportará de forma diferente 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 ) |
Devolve infinito (PositiveInfinity ou ), ou NaN (não um número) se expression1 também NegativeInfinityfor zero |
Decimal |
Lançamentos DivideByZeroException |
Integral (assinado ou não) | A tentativa de OverflowException conversão de volta para o tipo integral é lançada porque os tipos integrais não podem aceitar PositiveInfinity, NegativeInfinityou NaN |
Nota
O /
operador pode estar 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 seu código usa esse operador em tal classe ou estrutura, certifique-se de entender seu comportamento redefinido. Para obter mais informações, consulte Procedimentos do 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
), mesmo que ambos os operandos sejam constantes inteiras.