형식 변환 함수

각 함수는 특정 식 에 대한 데이터 형식.

구문

CBool(식)

CByte(식)

CCur(식)

CDate(식)

CDbl(식)

CDec(식)

CInt(식)

CLng(식)

CSng(식)

CStr(식)

CVar(식)

필요한 식은인수 에 문자열 식숫자 식.

반환 형식

함수 이름은 다음과 같이 반환 형식을 결정합니다.

함수

반환 형식

식 인수에 대한 범위

CBool

부울

유효한 문자열 또는 숫자 식입니다.

CByte

바이트

0~255.

CCur

통화

-922,337,203,685,477.5808에서 922,337,203,685,477.5807.

CDate

날짜

유효한 날짜 식입니다.

CDbl

실수(Double)

-1.79769313486231E308
-4.940654841247E-4.940654841247E-324 -1.79769313486232E308

CDec

10진수

+/-79,228,162,514,264,337,593,543,950,335, 즉 소수점 없는 숫자입니다. 소수점 28개가 있는 숫자의 경우
범위는 +/-7.922816251426437593549503335입니다. 0이 아닌 가장 작은 숫자는 0.0000000000000000001입니다.

CInt

정수

-32,768에서 32,767; 은 반올라됩니다.

CLng

-2,147,483,648에서 2,147,483,647; 은 반올라됩니다.

CSng

실수(Single)

음수 값의 경우 -3.402823E38에서 -1.401298E-45; 양수 값의 경우 1.401298E-45~3.402823E38.

CStr

String

CStr에 대한 반환은 식 인수에 따라 달라 습니다.

CVar

변형

숫자의 경우 Double과 같은 범위입니다. 숫자가 아닌 문자열과 같은 범위입니다.

주의

함수에 전달된 식이 변환되는 데이터 형식의 범위를 밖인 경우 오류가 발생합니다.

일반적으로 데이터 형식 변환 함수를 사용하여 코드를 문서화하여 일부 작업의 결과가 기본 데이터 형식이 아닌 특정 데이터 형식으로 표시해야 합니다. 예를 들어 CCur를 사용하여 단일 정밀도, 이중 정밀도 또는 정수 연산이 일반적으로 발생하는 경우 통화 연산을 강제로 합니다.

Val 대신 데이터 형식 변환 함수를 사용하여 한 데이터 형식에서 다른 데이터 형식으로 국제적으로 인식 변환을 제공해야 합니다. 예를 들어 CCur를사용하는 경우 컴퓨터의 로칼 설정에 따라 서로 다른 1000개 구분선, 다양한 통화 옵션이 제대로 인식됩니다.

소수 파트가 정확히 0.5이면 CIntCLng는 항상 가장 가까운 똑같은 숫자로 반올라운드합니다. 예를 들어 0.5는 0으로, 1.5는 2로 반올라합니다. CIntCLng는 숫자의 소수 부분인 둥근 대신 자선되는 수정 및 Int 함수와 다릅니다. 또한 FixInt는 항상 전달되는 동일한 형식의 값을 반환합니다.

IsDate 함수를 사용하여 날짜를 날짜 또는 시간으로 변환할 수 있는지 여부를 판단합니다. CDate는 허용 가능한 날짜 범위 내에 있는 일부 숫자뿐만 아니라 날짜 리터럴 및 시간 리터럴을 인식합니다. 숫자를 날짜로 변환할 때 전체 숫자 부분이 날짜로 변환됩니다. 숫자의 일부분은 자정부터 하루 중 시간으로 변환됩니다.

CDate는 시스템의 설정에 따라 날짜 로캘 인식합니다. 인식된 날짜 설정 중 하나가 아닌 형식으로 제공된 경우 날짜, 월 및 연도의 올바른 순서가 결정되지 않을 수 있습니다. 또한 긴 날짜 형식도 주일 문자열을 포함하는 경우 인식되지 않습니다.

또한 CVDate 함수는 이전 버전과의 호환성을 위해 Visual Basic. CVDate 함수의 구문은 CDate 함수와 동일하나, CVDate는 실제 날짜 형식이 아닌 Date인 변형을 반환합니다. 이제는 내재 날짜 형식이기 때문에 CVDate에 더 이상 필요하지 않습니다. 식을 날짜로 변환한 다음 변형 에 할당하여 동일한 효과를 얻을 수 있습니다. 이 기술은 다른 모든 본질 형식을 해당 동등한 Variant 하위 유형으로 변환하는 데 일치합니다.

참고: CDec 함수는 불연속 데이터 형식을 반환하지 않습니다. 대신 항상 10진수 하위 형식으로 변환된 변형을 반환합니다.

쿼리 예제

결과

SELECT SalePrice, FinalPrice, CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales;

"SalePrice", "FinalPrice"를 반환하고 SalePrice가 최종 가격보다 큰지 평가합니다. true이면 "-1"을 반환하고 false인 경우 "0"을 반환합니다.

SELECT ProductID, CByte(수량) AS Expr1 FROM productSales;

"ProductID"를 반환하고"수량" 필드의 값을 bytes 형식으로 변환하고 Expr1 열에 표시하면 "ProductID"가 반환됩니다. "수량" 필드의 값을 통화 형식으로 변환하고 Expr1 열에 표시됩니다.

SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales;

"ProductID"를 반환하고 "DateofSale" 필드의 값을 날짜 형식으로 변환하고 Expr1 열에 표시됩니다.

SELECT ProductID, CDbl(할인) AS Expr1 FROM productSales;

"ProductID"를 반환하고 "할인" 필드의 값을 Double 형식으로 변환하고 Expr1 열에 표시됩니다.

SELECT ProductID, CInt(할인) AS Expr1 FROM productSales;

"ProductID"를 반환하고 "할인" 필드의 값을 정수 형식으로 변환하고 Expr1 열에 표시됩니다.

SELECT ProductID, CLng(할인) AS Expr1 FROM productSales;

"ProductID"를 반환하고 "할인" 필드의 값을 긴 형식으로 변환하고 Expr1 열에 표시됩니다.

SELECT ProductID, CSng(할인) AS Expr1 FROM productSales;

"ProductID"를 반환하고 "할인" 필드의 값을 단일 형식으로 변환하고 Expr1 열에 표시됩니다.

SELECT ProductID, CStr(할인) AS Expr1 FROM productSales;

"ProductID"를 반환하고 "할인" 필드의 값을 문자열 형식으로 변환하고 Expr1 열에 표시됩니다.

SELECT ProductID, CVar(할인) AS Expr1 FROM productSales;

"ProductID"를 반환하고"할인" 필드의 값을 숫자 값의 경우 Double으로 변환하고 숫자 값이 아닌 값에 대한 문자열을 반환합니다.

VBA 예제

참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

CBool 함수

팁:  Access 2010에서 IntelliSense 있는 식 작성기에서는 식을 바로 사용할 수 있습니다.

이 예제에서는 CBool 함수를 사용하여 식을 부울로 변환합니다. 식이 비제로 값으로 평가되는 경우 CBool은True를 반환합니다. 그렇지 않으면 False 를 반환합니다.

Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.

CByte 함수

이 예제에서는 CByte 함수를 사용하여 식을 byte로 변환합니다.

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

CCur 함수

이 예제에서는 CCur 함수를 사용하여 식을 Currency로 변환합니다.

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).

CDate 함수

이 예제에서는 CDate 함수를 사용하여 문자열을 Date 로 변환합니다. 일반적으로 하드 코딩 날짜 및 시간을 문자열로(이 예제와 같이) 권장하지 않습니다. 대신 날짜 리터럴 및 시간 리터럴(예: #2/12/12/1969# 및 #4:45:23 PM#)을 사용합니다.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)

CDbl 함수

이 예제에서는 CDbl 함수를 사용하여 식을 Double 으로 변환합니다.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

CDec 함수

이 예제에서는 CDec 함수를 사용하여 숫자 값을 소수점으로 변환합니다.

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

CInt 함수

이 예제에서는 CInt 함수를 사용하여 값을 정수로 변환합니다.

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

CLng 함수

이 예제에서는 CLng 함수를 사용하여 값을 Long 으로 변환합니다.

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.

CSng 함수

이 예제에서는 CSng 함수를 사용하여 값을 Single 로 변환합니다.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.

CStr 함수

이 예제에서는 CStr 함수를 사용하여 숫자 값을 String으로 변환합니다.

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

CVar 함수

이 예제에서는 CVar 함수를 사용하여 식을 Variant 로 변환합니다.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.

추가 도움이 필요하신가요?

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여