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.