VB6에서 정수에서 16진수로, 16진수에서 정수로 변환하기

VB를 사용하여 넘버링을 하려는데, 자료가 너무 많아지니 16진수를 이용해야겠다는 생각이 들었습니다. 당연한 이야기지만, 찾아보니 정수를 16진수로, 16진수를 정수로 바꿔주는 함수가 있어 기록으로 남깁니다.

정수(Int)를 16진수(Hex)로

정수를 16진수로 바꿔주는 것은 함수 한방이면 끝나요.

Dim intNum as Double
Dim hexNum as String

hexNum = Hex(intNum)

Hex() 함수를 사용하면 됩니다. 여기서 16진수로 변환된 값을 담을 변수를 String 으로 선언했다는 것에 주목해야 합니다. 16진수는 0~9 뿐만 아니라 A~F 로 포함하고 있으니까요.

16진수를 정수로

하지만 위와 같은 방식으로 변환된 16진수는 String 으로 선언되었으니 아주 간단한 연산조차도 할 수 없습니다. 따라서 연산을 위해서는 다시 정수로 변환했다가 결과값을 16진수로 변환해주어야 합니다. 아래는 “FFF” 라는 16진수를 정수로 변환하는 예제입니다.

Dim dblNum as Double
Dim hexNum as String

hexNum = "FFF"

intNum = CDbl("&H" & hexNum)

여기서 사용한 CDbl 함수는 표현식을 Double 형식으로 변환하는 함수입니다. Double 형식이 아닌 다른 형식을 사용하고 싶다면, CLng, CInt 등을 사용할 수 있습니다.

Hex 와 CDbl 에 대한 자세한 사항은 MSDN – Hex 함수(Visual Basic)MSDN – Type Conversion Functions (Visual Basic) 를 참고하세요.

끝.