자동 형식 변환(Crystal 구문)
Crystal Reports에서는 일반적으로 특정 형식의 값을 사용해야 하는 위치에 다른 형식의 값을 사용하려면 형식 변환 함수를 명시적으로 제공해야 합니다. 예를 들면 다음과 같습니다.
Local StringVar postalCode;
//오류 - 문자열에 숫자 값을 할당했습니다.
postalCode := 10025;
//허용 - 형식 변환 함수 cstr을 사용하여 "10025"를 만듭니다.
postalCode := CStr (10025, 0);
그러나 자동으로 변환되는 경우도 있습니다.
- 숫자가 통화로
- 날짜가 날짜 시간으로
- 단순 형식이 원본으로 사용하는 동일한 단순 형식의 범위 값으로
예를 들어 다음은 올바르게 할당된 경우입니다.
Local CurrencyVar cost;
//다음과 동일: cost := $10
cost := 10;
Local DateTimeVar orderDate;
//다음과 동일: orderDate := CDateTime (1999, 9, 23, 0, 0, 0)
orderDate := CDate (1999, 9, 23);
Local NumberVar Range aRange;
//다음과 동일: aRange := 20 To 20
aRange := 20;
Local NumberVar Range Array aRangeArray;
//다음과 동일: aRangeArray := [10 To 10, 20 To 25, 2 To 2]
aRangeArray := [10, 20 To 25, 2];
![]() |
---|
역변환은 허용되지 않습니다. 예를 들면 다음과 같습니다. |
Local NumberVar num;
num := 5 + $10;
//허용 - CDbl 함수를 사용하여 숫자 형식으로 변환합니다.
num := CDbl (5 + $10)
5는 $5로 변환되고 $10에 더해져서 $15가 됩니다. 그러나 이 통화 값은 통화가 숫자로 자동 변환되지 않으므로 숫자 변수 num에 자동으로 할당할 수 없습니다. 마찬가지로 통화 인수를 허용하는 함수에서는 숫자 인수를 대신 제공해도 통화로 변환되지만 숫자 인수를 허용하는 함수에서는 CDbl을 사용하여 통화를 먼저 숫자로 명시적으로 변환해야만 통화 인수를 제공할 수 있습니다.