Type de données Integer (Visual Basic)
Contient des entiers 32 bits (4 octets) signés dont la valeur est comprise entre -2 147 483 648 et 2 147 483 647.
Notes
Le type de données Integer
offre des performances optimales sur un processeur 32 bits. Les autres types intégraux sont plus lents à charger et à stocker en provenance et à destination de la mémoire.
La valeur par défaut de Integer
est 0.
Affectations littérales
Vous pouvez déclarer et initialiser une variable Integer
en lui attribuant un littéral décimal, un littéral hexadécimal, un littéral octal ou (à partir de Visual Basic 2017) un littéral binaire. Si le littéral entier est en dehors de la plage de Integer
(autrement dit, s’il est inférieur à Int32.MinValue ou supérieur à Int32.MaxValue, une erreur de compilation se produit.
Dans l’exemple suivant, les entiers égaux à 90 946 représentés comme des littéraux décimaux, hexadécimaux et binaires sont assignés aux valeurs Integer
.
Dim intValue1 As Integer = 90946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H16342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
Notes
Vous utilisez le préfixe &h
ou &H
pour désigner un littéral hexadécimal, le préfixe &b
ou &B
pour désigner un littéral binaire, et le préfixe &o
ou &O
pour désigner un littéral octal. Les littéraux décimaux n’ont pas de préfixe.
À compter de Visual Basic 2017, vous pouvez également utiliser le caractère de soulignement, _
, comme un séparateur numérique pour améliorer la lisibilité, comme dans l’exemple suivant.
Dim intValue1 As Integer = 90_946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H0001_6342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
Depuis Visual Basic 15.5, vous pouvez également utiliser le caractère de soulignement (_
) comme séparateur de début entre le préfixe et les chiffres hexadécimaux, binaires ou octaux. Par exemple :
Dim number As Integer = &H_C305_F860
Pour utiliser le caractère de soulignement comme séparateur de début, vous devez ajouter l’élément suivant à votre fichier projet Visual Basic (*.vbproj) :
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Pour plus d’informations, consultez Sélectionner la version du langage Visual Basic.
Les littéraux numériques peuvent également inclure le I
caractère de type pour désigner le type de données Integer
, comme le montre l’exemple suivant.
Dim number = &H_035826I
Conseils de programmation
Considérations sur l'interopérabilité. Si vous utilisez des composants non écrits pour le .NET Framework, comme des objets Automation ou COM, n’oubliez pas que
Integer
possède une largeur de données différente (16 bits) dans les autres environnements. Si vous passez un argument de 16 bits à un tel composant, déclarez-le en tant que type de donnéesShort
et nonInteger
dans votre nouveau code Visual Basic.Extension. Le type de données
Integer
s'étend àLong
,Decimal
,Single
ouDouble
. Cela signifie que vous pouvez convertirInteger
en l'un de ces types sans rencontrer d'erreur System.OverflowException.Caractères de type. L'ajout du caractère de type littéral
I
à un littéral force ce dernier en type de donnéesInteger
. L'ajout du caractère de type identificateur%
à un identificateur force ce dernier en typeInteger
.Type .NET Framework. Le type correspondant dans le .NET Framework est la structure System.Int32.
Plage
Si vous essayez d'assigner à une variable de type intégral un nombre situé hors de la plage de ce type, une erreur se produit. Si vous essayez de lui assigner une fraction, le nombre est arrondi à la valeur entière supérieure ou inférieure la plus proche. Si le nombre est proche à l'identique de deux valeurs entières, la valeur est arrondie à l'entier pair le plus proche. Ce comportement réduit les erreurs d'arrondi qui résultent de l'arrondissement cohérent d'une valeur du milieu dans un seul sens. Le code suivant présente des exemples d'arrondi.
' The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
' The following statement causes an error because the value is too large.
k = 2147483648
' The following statement sets k to 6.
k = 5.9
' The following statement sets k to 4
k = 4.5
' The following statement sets k to 6
' Note, Visual Basic uses banker’s rounding (toward nearest even number)
k = 5.5