VBA 텍스트 문자열을 숫자로 변환하기
In this Article
VBA 코드에서 텍스트로 저장된 숫자를 실제 숫자로 변환해야 할 수도 있습니다. 이 튜토리얼에서는 문자열을 정수, long, double, 소수 또는 통화 데이터 유형으로 변환하는 데 필요한 함수를 살펴봅니다(숫자를 문자열로 변환하는 방법을 알아보려면 여기를 클릭하세요).
문자열을 정수로 변환하기
CInt 또는 CLng 함수를 사용하여 문자열을 정수로 변환할 수 있습니다. 분수가 0.5보다 작으면 내림하고, 분수가 0.5보다 크거나 같으면 반올림합니다. 다음 코드는 문자열을 정수로 변환합니다:
MsgBox CInt("7.55")
결과는 다음과 같습니다:
다음 코드는 CLng 함수를 사용하여 문자열을 정수로 변환합니다:
MsgBox CLng("13.5")
결과는 다음과 같습니다:
참고: CInt 또는 CLng 함수를 사용하여 문자열을 정수 또는 긴 데이터 유형으로(각각) 변환할 수 있습니다. 긴 데이터 유형은 더 큰 숫자가 허용된다는 점을 제외하면 정수 데이터 유형과 동일합니다. 과거에는 메모리 제약으로 인해 이러한 구분이 필요했습니다. 최신 프로그래밍에서는 메모리가 더 이상 문제가 되지 않으므로 긴 데이터 유형을 사용하지 않을 이유가 없습니다. 따라서 항상 정수 대신 긴 데이터 유형을 사용하는 것이 좋습니다.
직접 실행 창을 사용하여 정수로 적절하게 변환하지 않을 경우 값이 어떻게 처리되는지 확인할 수 있습니다:
Debug.Print "13.5" + "13.5"
일반적으로 텍스트는 변수로 저장되며 이 변수는 아래 코드와 같이 숫자 데이터 유형으로 변환해야 합니다:
Sub Using_Variables()
Dim valueOne As String
valueOne = 5
MsgBox CLng(valueOne) + CLng(valueOne)
End Sub
문자열을 소수로 변환하기
CDbl 또는 CDec 함수를 사용하여 문자열을 소수로 변환할 수 있습니다. 다음 코드는 문자열을 double 데이터 유형으로 변환합니다:
MsgBox CDbl("9.1819")
결과는 다음과 같습니다:
다음 코드는 문자열을 소수 데이터 유형으로 변환합니다:
MsgBox CDec("13.57") + CDec("13.4")
The result is:
직접실행 창을 사용하여 값이 double 또는 소수 데이터 유형으로 적절하게 변환되지 않았을 경우 어떻게 처리되는지 확인할 수 있습니다:
Debug.Print "13.57" + "13.4"
결과는 다음과 같습니다:
참고: 소수 데이터 유형은 double 데이터 유형보다 더 긴 숫자를 저장할 수 있으므로 불확실한 경우 항상 십진수 데이터 유형을 사용하는 것이 좋습니다.
문자열을 통화로 변환하기
CCur 함수를 사용하여 문자열을 통화로 변환할 수 있습니다. 다음 코드는 문자열을 통화 데이터 유형으로 변환합니다:
Range("A1").Value = CCur("18.5")
결과는 다음과 같습니다: