형식 문자(Visual Basic)

선언문에서 데이터 형식을 지정하는 것 외에도 일부 프로그래밍 요소의 데이터 형식을 형식 문자로 강제 적용할 수 있습니다. 형식 문자는 어떤 종류의 중간 문자도 없이 요소 바로 뒤에 와야 합니다.

형식 문자는 요소 이름의 일부가 아닙니다. 형식 문자로 정의된 요소는 형식 문자 없이 참조할 수 있습니다.

식별자 형식 문자

Visual Basic은 선언에서 변수 또는 상수의 데이터 형식을 지정하는 데 사용할 수 있는 식별자 형식 문자 집합을 제공합니다. 다음 표에서는 사용 예제와 함께 사용 가능한 식별자 형식 문자를 보여 줍니다.

식별자 형식 문자 데이터 형식 예시
% Integer Dim L%
& Long Dim M&
@ Decimal Const W@ = 37.5
! Single Dim Q!
# Double Dim X#
$ String Dim V$ = "Secret"

Boolean, Byte, Char, Date, Object, SByte, Short, UInteger, ULong, UShort 데이터 형식 또는 배열이나 구조체 같은 복합 데이터 형식에 대한 식별자 유형 문자는 없습니다.

경우에 따라 Visual Basic 함수(예: Left 대신 Left$)에 $ 문자를 추가하여 String 반환된 형식 값을 가져올 수 있습니다.

모든 경우에 식별자 형식 문자는 식별자 이름을 즉시 따라야 합니다.

리터럴 형식 문자

리터럴은 데이터 형식의 특정 값에 대한 텍스트 표현입니다.

기본 리터럴 형식

코드에 나타나는 리터럴 형식은 일반적으로 해당 데이터 형식을 결정합니다. 다음 표에서는 이러한 기본 형식을 보여줍니다.

텍스트 형식의 리터럴 기본 데이터 형식 예시
숫자, 분수 부분 없음 Integer 2147483647
숫자, 분수 부분 없음, Integer에 비해 너무 큼 Long 2147483648
숫자, 분수 부분 Double 1.2
큰따옴표로 묶음 String "A"
숫자 기호 안에 묶음 Date #5/17/1993 9:32 AM#

강제 리터럴 형식

Visual Basic은 리터럴 형식 문자 집합을 제공하며, 리터럴에서 해당 형식이 나타내는 데이터 형식이 아닌 다른 데이터 형식을 가정하도록 강제 적용하는 데 사용할 수 있습니다. 리터럴의 끝에 문자를 추가하여 이 작업을 수행합니다. 다음 표에서는 사용 예제와 함께 사용 가능한 리터럴 형식 문자를 보여 줍니다.

리터럴 형식 문자 데이터 형식 예시
S Short I = 347S
I Integer J = 347I
L Long K = 347L
D Decimal X = 347D
F Single Y = 347F
R Double Z = 347R
US UShort L = 347US
UI UInteger M = 347UI
UL ULong N = 347UL
C Char Q = "."C

Boolean, Byte, Date, Object, SByte, String 데이터 형식 또는 배열이나 구조체 같은 복합 데이터 형식에 대한 리터럴 형식 문자는 없습니다.

리터럴은 변수, 상수, 식과 마찬가지로 식별자 형식 문자(%, &, @!, #, , $)를 사용할 수도 있습니다. 그러나 리터럴 형식 문자(S,, I, L, DF, R, C)는 리터럴에서만 사용할 수 있습니다.

모든 경우에 리터럴 형식 문자는 리터럴 값을 바로 따라야 합니다.

16진수, 이진, 8진수 리터럴

컴파일러는 일반적으로 정수 리터럴이 10진수(base 10) 숫자 시스템에 있는 것으로 해석합니다. 또한 &H 접두사를 사용하여 정수 리터럴을 16진수(base 16) 숫자로 정의하고 &B 접두사를 사용하는 이진(base 2) 숫자로, &O 접두사를 사용하는 8진수(base 8) 숫자로 정의할 수도 있습니다. 접두사 뒤에 있는 숫자는 숫자 시스템에 적합해야 합니다. 다음 표에서는 이를 보여 줍니다.

숫자 베이스 Prefix 유효한 숫자 값 예시
16진수 &H 0~9 및 A~F &HFFFF
이진(base 2) &B 0-1 &B01111100
8진수 &O 0-7 &O77

Visual Basic 2017부터 밑줄 문자(_)를 그룹 구분 기호로 사용하여 정수 리터럴의 가독성을 향상시킬 수 있습니다. 다음 예제에서는 _ 문자를 사용하여 이진 리터럴을 8비트 그룹으로 그룹화합니다.

Dim number As Integer = &B00100010_11000101_11001111_11001101

리터럴 형식 문자를 사용하여 접두사 리터럴을 따를 수 있습니다. 다음 예에서는 이러한 방법을 보여 줍니다.

Dim counter As Short = &H8000S
Dim flags As UShort = &H8000US

이전 예제에서 counter의 10진수 값은 -32768이고 flags의 10진수 값은 +32768입니다.

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

Dim number As Integer = &H_C305_F860

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

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

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

참고 항목