Condividi tramite


Operatore / (Visual Basic)

Divide due numeri e restituisce un risultato a virgola mobile.

Sintassi

expression1 / expression2  

Parti

expression1
Obbligatorio. Qualsiasi espressione numerica.

expression2
Obbligatorio. Qualsiasi espressione numerica.

Tipi supportati

Tutti i tipi numerici, inclusi i tipi senza segno e a virgola mobile e Decimal.

Risultato

Il risultato è il quoziente completo di expression1 diviso per expression2, incluso qualsiasi resto.

L'operatore \ (Visual Basic) restituisce il quoziente intero, che elimina il resto.

Osservazioni:

Il tipo di dati del risultato dipende dai tipi degli operandi. Nella tabella seguente viene illustrato come viene determinato il tipo di dati del risultato.

Tipi di dati operandi Tipi di dati risultanti
Entrambe le espressioni sono tipi di dati integrali (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) Double
Un'espressione è un tipo di dati Singolo e l'altra non è di tipo Doppio Single
Un'espressione è un tipo di dati Decimale e l'altra non è di tipo Singolo o Doppio Decimal
Entrambe le espressioni sono un tipo di dati Doppio Double

Prima dell'esecuzione della divisione, tutte le espressioni numeriche integrali vengono ampliate a Double. Se si assegna il risultato a un tipo di dati integrale, Visual Basic tenta di convertire il risultato da Double a tale tipo. Ciò può generare un'eccezione se il risultato non rientra in tale tipo. In particolare, vedere "Tentativo di divisione per zero" in questa pagina della Guida.

Se expression1 o expression2 restituisce Nothing, viene considerato come zero.

Tentativo di divisione per zero

Se expression2 restituisce zero, l'operatore / si comporta in modo diverso per tipi di dati operandi diversi. Nella tabella seguente vengono illustrati i possibili comportamenti.

Tipi di dati operandi Comportamento se expression2 è zero
A virgola mobile (Single o Double) Restituisce infinity (PositiveInfinity o NegativeInfinity) o NaN (non un numero) se anche expression1 è zero
Decimal Genera DivideByZeroException
Integrale (con segno o senza segno) Il tentativo di conversione al tipo integrale genera un'eccezione perché i tipi integrali OverflowException non possono accettare PositiveInfinity, NegativeInfinity o NaN

Nota

L'operatore / può essere sottoposto a overload, il che significa che una classe o una struttura può ridefinirne il comportamento quando un operando ha il tipo di tale classe o struttura. Se il codice usa questo operatore in una classe o una struttura di questo tipo, assicurarsi di comprenderne il comportamento ridefinito. Per altre informazioni, vedere Operator Procedures.

Esempio

In questo esempio viene utilizzato l'operatore / per eseguire la divisione a virgola mobile. Il risultato è il quoziente dei due operandi.

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

Le espressioni nell'esempio precedente restituiscono valori 2.5 e 3.333333. Si noti che il risultato è sempre a virgola mobile (Double), anche se entrambi gli operandi sono costanti integer.

Vedi anche