문자열과 다른 형식 사이의 변환(Visual Basic)

숫자, Boolean 또는 날짜/시간 값을 String로 변환할 수 있습니다. 문자열의 내용을 대상 데이터 형식의 유효한 값으로 해석할 수 있는 경우 문자열 값에서 숫자, Boolean 또는 Date로 또는 역방향으로 변환할 수도 있습니다. 그러지 않으면 런타임 오류가 발생합니다.

이러한 모든 할당에 대한 변환은 어느 방향으로든 축소 변환입니다. 형식 변환 키워드(CBool, CByte, CDate, CDbl, CDec, CInt, CLng, CSByte, CShort, CSng, CStr, CUInt, CULng, CUShort, CType)를 사용해야 합니다. FormatVal 함수를 사용하면 문자열과 숫자 간의 변환을 추가로 제어할 수 있습니다.

클래스 또는 구조체를 정의한 경우 String과 클래스 또는 구조체의 형식 간에 형식 변환 연산자를 정의할 수 있습니다. 자세한 내용은 How to: Define a Conversion Operator을 참조하세요.

숫자를 문자열로 변환

Format 함수를 사용하여 숫자를 형식이 지정된 문자열로 변환할 수 있습니다. 여기에는 적절한 숫자뿐만 아니라 통화 기호(예 $), 천 단위 구분 기호 또는 숫자 그룹화 기호(예: ,), 소수 구분 기호(예: .)와 같은 서식 기호도 포함될 수 있습니다. Format는 Windows 제어판에 지정된 제어판 에 지정된 설정에 국가별 옵션에 따라 적절한 기호를 자동으로 사용합니다.

다음 예제와 같이 연결(&) 연산자는 숫자를 암시적으로 문자열로 변환할 수 있습니다.

' The following statement converts count to a String value.  
Str = "The total count is " & count  

문자열을 숫자로 변환

Val 함수를 사용하여 문자열의 숫자를 숫자로 명시적으로 변환할 수 있습니다. Val는 숫자, 공백, 탭, 줄 바꿈, 마침표 이외의 문자가 나타날 때까지 문자열을 읽습니다. 시퀀스 “&O” 및 “&H”는 숫자 시스템의 기반을 변경하고 검사를 종료합니다. 읽기가 중지될 때까지 Val은 모든 적절한 문자를 숫자 값으로 변환합니다. 예를 들어 다음 문은 141.825 값을 반환합니다.

Val(" 14 1.825 miles")

Visual Basic은 문자열을 숫자 값으로 변환할 때 Windows 제어판에 지정된 국가별 옵션 설정을 사용하여 천 단위 구분 기호, 소수 구분 기호, 통화 기호를 해석합니다. 즉, 변환은 어떤 설정에서 성공할 수 있지만 다른 설정에서는 성공하지 못할 수도 있습니다. 예를 들어 "$14.20"는 영어(미국) 로캘에서는 허용되지만 프랑스어 로캘에서는 허용되지 않습니다.

참고 항목