/, opérateur (Visual Basic)
Effectue la division entre deux nombres et retourne un résultat à virgule flottante.
Syntaxe
expression1 / expression2
Éléments
expression1
Obligatoire. Toute expression numérique.
expression2
Obligatoire. Toute expression numérique.
Types pris en charge
Tous les types numériques, y compris les types non signés et à virgule flottante et Decimal
.
Résultats
Le résultat est le quotient entier de expression1
divisé par expression2
, y compris tout élément restant.
L’opérateur \ (Visual Basic) retourne le quotient entier, qui supprime le reste.
Notes
Le type de données du résultat dépend des types des opérandes. Le tableau suivant montre comment le type de données du résultat est déterminé.
Types de données des opérandes | Type de données de résultat |
---|---|
Les deux expressions sont des types de données intégraux (SByte, Byte, Short, UShort, Integer, UInteger, Long, ULong) | Double |
Une expression est un type de données Single et l’autre n’est pas un type Double | Single |
Une expression est un type de données Decimal et l’autre n’est pas un type Single ou un type Double | Decimal |
L’une ou l’autre expression est un type de données Double | Double |
Avant l’exécution de la division, toutes les expressions numériques intégrales sont étendues à Double
. Si vous affectez le résultat à un type de données intégral, Visual Basic tente de convertir le résultat à partir de Double
vers ce type. Cela peut lever une exception si le résultat ne correspond pas à ce type. Consultez en particulier « Tentative de division par zéro » sur cette page d’aide.
Si expression1
ou expression2
prend la valeur Nothing, il est traité comme zéro.
Tentative de division par zéro
Si l’évaluation de expression2
est égale à zéro, l’opérateur /
se comporte différemment pour différents types de données d’opérande. Le tableau suivant répertorie les comportements possibles.
Types de données d’opérande | Comportement si expression2 est zéro |
---|---|
Virgule flottante (Single ou Double ) |
Renvoie l’infini (PositiveInfinity ou NegativeInfinity) ou NaN (pas un nombre) si expression1 est également égal à zéro |
Decimal |
Lève DivideByZeroException |
Intégral (signé ou non signé) | La tentative de conversion en type intégral lève OverflowException, car les types intégraux ne peuvent pas accepter PositiveInfinity, NegativeInfinity ou NaN |
Notes
L’opérateur /
peut être surchargé, ce qui signifie qu’une classe ou une structure peut redéfinir son comportement lorsqu’un opérande a le type de cette classe ou structure. Si votre code utilise cet opérateur sur ce type de classe ou structure, veillez à comprendre son comportement une fois qu’il est redéfini. Pour plus d'informations, consultez Operator Procedures.
Exemple
Cet exemple utilise l’opérateur /
pour effectuer la division à virgule flottante. Le résultat est le quotient des deux opérandes.
Dim resultValue As Double
resultValue = 10 / 4
resultValue = 10 / 3
Les expressions de l’exemple précédent retournent des valeurs de 2,5 et 3,333333. Notez que le résultat est toujours à virgule flottante (Double
), même si les deux opérandes sont des constantes entières.