Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Divide dois números e retorna um resultado de ponto 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 de ponto flutuante e sem sinal e Decimal.
Resultado
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 dos operandos. A tabela a seguir mostra como o tipo de dados do resultado é determinado.
| Tipos de dados 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 único e a outra não é um Double | Single |
| Uma expressão é um tipo de dados Decimal e a outra não é um único ou um duplo | Decimal |
| Qualquer expressão é um tipo de dados Double | 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 Double tipo. Isso poderá gerar uma exceção se o resultado não se ajustar a esse tipo. Em particular, consulte "Tentativa de Divisão por Zero" nesta página de Ajuda.
Se expression1 ou expression2 for avaliado como Nothing, ele será 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 possíveis comportamentos.
| Tipos de dados operando | Comportamento se expression2 for zero |
|---|---|
Ponto flutuante (Single ou Double) |
Retorna infinito (PositiveInfinity ou ), ou NaN (não um número) se expression1 também NegativeInfinityfor zero |
Decimal |
Lança DivideByZeroException |
| Integral (assinado ou não assinado) | A tentativa de conversão de volta para o tipo integral é gerada OverflowException porque os tipos integrais não podem aceitar PositiveInfinity, NegativeInfinityou 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 tal classe ou estrutura, certifique-se de entender seu comportamento redefinido. Para obter mais informações, consulte 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.