Operatore / (Visual Basic)
Divide due numeri e restituisce un risultato a virgola mobile.
expression1 / expression2
Parti
expression1
Obbligatorio. Qualsiasi espressione numerica.expression2
Obbligatorio. Qualsiasi espressione numerica.
Tipi supportati
Tutti i tipi numerici, inclusi i tipi senza segno, a virgola mobile e Decimal.
Risultato
Il risultato è il quoziente completo di expression1 diviso per expression2, incluso l'eventuale resto.
L'Operatore \ (Visual Basic) restituisce il quoziente espresso in valore integer, ossia senza resto.
Note
Il tipo di dati del risultato varia in base ai tipi degli operandi. Nella tabella riportata di seguito viene illustrato come si determina il tipo di dati del risultato.
Tipi di dati degli operandi |
Tipo di dati del risultato |
---|---|
Entrambe le espressioni sono tipi di dati integrali (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) |
Double |
Un'espressione è costituita da un tipo di dati Single e l'altra non è costituita da un tipo Double |
Single |
Un'espressione è costituita da un tipo di dati Decimal e l'altra non è costituita da un tipo Single o Double |
Decimal |
Una delle espressioni è costituita da un tipo di dati Double |
Double |
Prima di eseguire la divisione, le espressioni numeriche integrali vengono convertite verso il tipo di dati più grande Double. Se il risultato viene assegnato a un tipo di dati integrale, verrà eseguito il tentativo di convertire il risultato da Double in tale tipo. Questo può generare un'eccezione se il risultato non corrisponde a questo tipo. Per informazioni, vedere in particolare "Tentativo di divisione per zero" in questa pagina della Guida.
Se expression1 o expression2 restituisce Nothing, tale parametro viene considerato uguale a zero.
Tentativo di divisione per zero
Se expression2 restituisce zero, l'operatore / si comporta in maniera differente per i diversi tipi di dati degli operandi. Nella tabella riportata di seguito vengono illustrati i possibili comportamenti.
Tipi di dati degli operandi |
Comportamento se expression2 è zero |
---|---|
Virgola mobile (Single o Double) |
Restituisce infinito (PositiveInfinity o NegativeInfinity) oppure NaN (non un numero) se anche expression1 è zero |
Decimal |
Genera DivideByZeroException |
Integrale (con o senza segno) |
Se si tenta la conversione inversa al tipo integrale, viene generata un'eccezione OverflowException, in quanto tutti i tipi integrali non accettano PositiveInfinity, NegativeInfinity o NaN |
Nota
L'operatore / può essere sottoposto a overload. In altri termini, una classe o una struttura può ridefinirne il comportamento quando un operando specifica il tipo di tale classe o struttura.Se il codice utilizza l'operatore su una classe o una struttura di questo tipo, è importante comprendere il comportamento ridefinito di tale operatore.Per ulteriori informazioni, vedere Routine di operatore (Visual Basic).
Esempio
Nell'esempio riportato di seguito l'operatore / viene utilizzato per eseguire una divisione a virgola mobile. Il risultato è il quoziente dei due operandi.
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
Le espressioni dell'esempio precedente restituiscono i valori di 2,5 e 3,333333. Il risultato è sempre a virgola mobile (Double), anche se entrambi gli operandi sono costanti integer.
Vedere anche
Riferimenti
Tipi di dati dei risultati degli operatori (Visual Basic)
Operatori aritmetici (Visual Basic)
Precedenza tra gli operatori in Visual Basic
Elenco degli operatori per funzionalità (Visual Basic)