다음을 통해 공유


자동 형식 변환(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];
Note참고

역변환은 허용되지 않습니다. 예를 들면 다음과 같습니다.

Local NumberVar num;
num := 5 + $10;
//허용 - CDbl 함수를 사용하여 숫자 형식으로 변환합니다.
num := CDbl (5 + $10)

5는 $5로 변환되고 $10에 더해져서 $15가 됩니다. 그러나 이 통화 값은 통화가 숫자로 자동 변환되지 않으므로 숫자 변수 num에 자동으로 할당할 수 없습니다. 마찬가지로 통화 인수를 허용하는 함수에서는 숫자 인수를 대신 제공해도 통화로 변환되지만 숫자 인수를 허용하는 함수에서는 CDbl을 사용하여 통화를 먼저 숫자로 명시적으로 변환해야만 통화 인수를 제공할 수 있습니다.