Tipo de datos Integer (Visual Basic)
Contiene enteros de 32 bits con signo (4 bytes) comprendidos en el intervalo entre -2.147.483.648 y 2.147.483.647.
Comentarios
El tipo de datos Integer
proporciona un rendimiento óptimo en un procesador de 32 bits. Los demás tipos enteros son más lentos a la hora de cargarse y almacenarse en la memoria.
El valor predeterminado de Integer
es 0.
Asignaciones de literales
Puede declarar e inicializar una variable Integer
si la asigna a un literal decimal, un literal hexadecimal, un literal octal o (a partir de Visual Basic 2017) un literal binario. Si el literal entero está fuera del intervalo de Integer
(es decir, si es inferior a Int32.MinValue o mayor que Int32.MaxValue, se produce un error de compilación.
En el ejemplo siguiente, los enteros que equivalen a 90 946 que se representan como literales binarios, hexadecimales y decimales se asignan a valores 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
Nota
Use el prefijo &h
o &H
para denotar un literal hexadecimal, el prefijo &b
o &B
para denotar un literal binario y el prefijo &o
o &O
para denotar un literal octal. Los literales decimales no tienen prefijo.
A partir de Visual Basic 2017, también puede usar el carácter de subrayado, _
, como un separador de dígitos para mejorar la legibilidad, tal como se muestra en el ejemplo siguiente.
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
A partir de Visual Basic 15.5 también puede usar el carácter de subrayado (_
) como separador inicial entre el prefijo y los dígitos hexadecimales, binarios u octales. Por ejemplo:
Dim number As Integer = &H_C305_F860
Para usar el carácter de subrayado como separador inicial, debe agregar el elemento siguiente al archivo del proyecto de Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Para más información, consulte Selección de la versión del lenguaje de Visual Basic.
Los literales numéricos también pueden incluir el carácter de tipo I
para denotar el tipo de datos Integer
, como se muestra en el ejemplo siguiente.
Dim number = &H_035826I
sugerencias de programación
Consideraciones de interoperabilidad. Si interactúa con componentes no escritos para .NET Framework, como objetos de Automation o COM, recuerde que
Integer
tiene un ancho de datos diferente (16 bits) en otros entornos. Al pasar un argumento de 16 bits a esos componentes, declárelo en el código de Visual Basic comoShort
en lugar de comoInteger
.Ampliación. El tipo de datos
Integer
se amplía aLong
,Decimal
,Single
oDouble
. Esto significa que puede convertir un tipo de datosInteger
en cualquiera de estos tipos sin que se produzca un error System.OverflowException.Caracteres de tipo. Al agregar el carácter de tipo literal
I
a un literal, el tipo de datos se convierte forzosamente en el tipo de datosInteger
. Si se agrega el carácter de tipo identificador%
a cualquier identificador, se convierte forzosamente al tipoInteger
.Tipo de Framework. El tipo correspondiente en .NET Framework es la estructura System.Int32.
Intervalo
Si intenta establecer una variable de un tipo entero en un número que está fuera del intervalo correspondiente a ese tipo, se produce un error. Si intenta establecerlo en una fracción, el número se redondea hacia arriba o hacia abajo al valor entero más cercano. Si el número está equidistante a dos valores enteros, el valor se redondea al entero par más próximo. Este comportamiento minimiza los errores de redondeo que se derivan de redondear de forma consistente un valor de punto medio en una dirección única. En el código siguiente se muestran ejemplos de redondeo.
' 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