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

Operatore /= (Visual Basic)

Operatore \ (Visual Basic)

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)

Concetti

Operatori aritmetici in Visual Basic