Partage via


/, 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.

Voir aussi