Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 Single e l'altra non è double | Single |
| Un'espressione è un tipo di dati Decimal e l'altra non è un valore Single o Double | Decimal |
| Entrambe le espressioni sono un tipo di dati Double | 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 ) o NaN (non un numero) se expression1 è NegativeInfinityanche zero |
Decimal |
Getta 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, NegativeInfinityo NaN |
Annotazioni
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.