다음을 통해 공유


정수 데이터 형식 (Visual Basic)

-2,147,483,648에서 2,147,483,647까지의 값 범위에 속하는 부호 있는 32비트(4바이트) 정수를 저장합니다.

설명

Integer 데이터 형식은 32비트 프로세서에서 최적의 성능을 제공합니다. 다른 정수 계열 형식은 메모리에서 로드하고 저장하는 속도가 더 느려집니다.

Integer의 기본값은 0입니다.

리터럴 할당

10진수 리터럴, 16진수 리터럴, 8진수 리터럴 또는(Visual Basic 2017부터) 2진 리터럴을 할당하여 Integer 변수를 선언하고 초기화할 수 있습니다. 정수 리터럴이 Integer 범위를 벗어나는 경우(즉 Int32.MinValue보다 작거나 Int32.MaxValue보다 큰 경우) 컴파일 오류가 발생합니다.

다음 예제에서는 10진수, 16진수 및 이진 리터럴로 표현된 90,946와 같은 정수가 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

참고 항목

16진수 리터럴을 나타내려면 접두사 &h 또는 &H을(를) 사용하고, 이진수 리터럴을 나타내려면 접두사 &b 또는 &B을(를) 사용하고, 8진수 리터럴을 나타내려면 접두사 &o 또는 &O을(를) 사용합니다. 10진수 리터럴에는 접두사가 없습니다.

Visual Basic 2017부터 다음 예와 같이 밑줄 문자 _을 숫자 구분 기호로 사용하여 가독성을 높일 수도 있습니다.

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

Visual Basic 15.5부터 밑줄 문자(_)를 접두사와 16진수, 이진수, 8진수 사이의 선행 구분 기호로 사용할 수도 있습니다. 예시:

Dim number As Integer = &H_C305_F860

선행 구분 기호로 밑줄 문자를 사용하려면 Visual Basic 프로젝트(*.vbproj) 파일에 다음 요소를 추가해야 합니다.

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

자세한 내용은 Visual Basic 언어 버전 선택을 참조하세요.

다음 예와 같이 숫자 리터럴에는 I 형식 문자를 포함하여 Integer 데이터 형식을 나타낼 수도 있습니다.

Dim number = &H_035826I

프로그래밍 팁

  • Interop 고려 사항. Automation 또는 COM 개체와 같이 .NET Framework용으로 작성되지 않은 구성 요소와 상호 작용하는 경우 다른 환경에서는 Integer의 데이터 너비(16비트)가 다르다는 점에 유의해야 합니다. 이러한 구성 요소에 16비트 인수를 전달하는 경우 새 Visual Basic 코드에서 이 인수를 Short 대신 Integer로 선언하십시오.

  • 확장. Integer 데이터 형식은 Long, Decimal, Single 또는 Double로 확대 변환됩니다. 이는 Integer 오류 발생 없이 System.OverflowException를 이러한 형식 중 하나로 변환할 수 있음을 의미합니다.

  • 형식 문자. 리터럴 형식 문자 I를 리터럴에 추가하면 Integer 데이터 형식이 됩니다. 식별자 형식 문자 %를 식별자에 추가하면 Integer가 됩니다.

  • 프레임워크 형식. .NET Framework에서 해당하는 형식은 System.Int32 구조체입니다.

범위

정수 계열 형식의 변수를 이 형식의 범위에서 벗어난 숫자로 설정하려고 하면 오류가 발생합니다. 분수로 설정하려고 하면 숫자는 가장 근사한 정수값으로 반올림되거나 반내림됩니다. 숫자가 두 정수 값에 가까우면 값은 가장 근사한 짝수 정수로 반올림됩니다. 이 동작은 중간값을 한 방향으로 계속해서 반올림할 때 발생하는 반올림 오류가 최소화됩니다. 다음 코드는 반올림의 예제를 보여 줍니다.

' 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  

참고 항목