Operatore / (Visual Basic)
Aggiornamento: novembre 2007
Divide due numeri e restituisce un risultato a virgola mobile.
expression1 / expression2
Parti
expression1
Obbligatoria. Qualsiasi espressione numerica.expression2
Obbligatoria. 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 |
Entrambe le espressioni sono di tipo di dati Decimal |
Decimal |
Entrambe le espressioni sono di Tipo di dati Single (Visual Basic) |
Single |
Una delle due espressioni è un tipo di dati a virgola mobile (Tipo di dati Single (Visual Basic) o Tipo di dati Double (Visual Basic)) |
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. |
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
Concetti
Operatori aritmetici in Visual Basic
Riferimenti
Tipi di dati dei risultati degli operatori
Operatori aritmetici (Visual Basic)