VB.NET 2008/VB - 문법

문법 - 데이터 형식의 변환

본클라쓰 2011. 4. 5. 17:00

 

다른 데이터 형식으로 값을 변경하는 과정을 변환이라고 한다.

 

변환은 대상 형식의 데이터 용량에 따라 확장 변화과 축소 변환으로 구분된다. 또한 소스 코드의 구문에 따라 암시적인 변환과 명시적인 변환으로 구분된다.

 

 

형식 변환 시 고려해야 하는 중요한 사항은 변환의 결과가 대상 데이터 형식의 범위 안에 있는지의 여부이다. 확대 변환은 원래 데이터의 모든 가능한 값을 사용할 수 있는 데이터 형식으로 값을 변경한다. 축소 변환은 일부 가능한 값을 가질 수 없는 데이터 형식으로 값을 변경한다.

 

 

암시적 변환에서는 소스 코드에 특별한 구문이 필요하지 않다.

 

명시적 변환에서는 형식 변환 키워드를 사용한다. Visual Basic에서는 괄호 안의 식을 원하는 데이터 형식으로 강제 변환하는 여러 가지 형식 변환 키워드를 제공한다. 이런 키워드는 함수처럼 동작하지만 컴파일러가 인라인으로 코드를 생성하므로 함수 호출보다 약간 빠르게 실행된다.

 

변환키워드는 CBool, CByte, CChar, CDate, CDbl, CDec, CInt, CObj, CSByte, CShort, CStr, CType 등이 있다.

 

 

대표적인 변환 키워드인 CType 함수는 두 개의 인수로 연산을 수행한다. 첫 번째는 변환할 식이고 두 번째는 대상 데이터 형식이나 개체 클래스이다. 첫 번재 인수는 형식이 아니라 식이어야 한다.

 

k = CType(q, Integer)

 

 

 

숫자, Boolean 또는 날짜/시간 값을 String으로 변환할 수 있다. 반대로 문자열의 내용이 대상 데이터 형식의 유효한 값으로 해석될 수 있는 경우 문자열 값을 숫자, Boolean 또는 Date로 변환할 수도 있다. 변환할 수 없는 경우에는 런타임 오류가 발생한다.

 

어느 방향이든 이러한 모든 할당에 대한 변환은 축소 변환이다. 따라서 형식 변환 키워드(CBool, CByte, CDate, CDec 등)를 사용해야 한다. Format 함수와 Val 함수는 문자열과 숫자 사이의 변환을 제어할 수 있는 추가 기능을 제공한다.

 

 

Format 함수를 사용하여 숫자를 서식 있는 문자열로 변환할 수 있다. 서식 있는 문자열에는 적절한 숫자뿐 아니라 통화 기호(예: $, 단위 구분 기호, 자릿수 기호 등) 등의 서식 기호도 포함될 수 있다.

 

Val 함수를 사용하여 문자열의 숫자를 명시적으로 숫자로 변환할 수 있다. Val은 숫자, 공백, 탭, 줄 바꿈 또는 마침표 이외의 문자가 있는 곳까지 문자열을 읽는다. Val은 읽기를 중단할 때까지 모든 해당 문자를 숫자 값으로 변환한다. 예를 들어 다음 문은 값 141.825를 반환한다.

 

Val(" 14 1.825 miles")

 

'VB.NET 2008 > VB - 문법' 카테고리의 다른 글

문법 - 제네릭 형식  (0) 2011.04.05
문법 - Nullable 값 형식  (0) 2011.04.05
문법 - 데이터 형식  (0) 2011.04.05
문법 - 선언된 요소  (0) 2011.04.05
문법 - 제어 구조 밖으로 제어 전달  (0) 2011.04.04