Crystal Reports Designer  

自動型別轉換 (Crystal 語法)

通常在 Crystal Reports 之中,如果沒有明確地輸入型別轉換函式,就不能將一種型別值用在另一種型別中。例如:

Local StringVar postalCode;
//Error- assigning a Number value to a String
postalCode := 10025;
//OK - use the type conversion function CStr
//to create "10025"
postalCode := CStr (10025, 0);

不過,有些轉換會自動進行:

例如,以下的指派是正確的:

Local CurrencyVar cost;
//Same as: cost := $10
cost := 10;
Local DateTimeVar orderDate;
//Same as: orderDate := CDateTime (1999, 9, 23, 0, 0, 0)
orderDate := CDate (1999, 9, 23);
Local NumberVar Range aRange;
//Same as: aRange := 20 To 20
aRange := 20;
Local NumberVar Range Array aRangeArray;
//Same as : aRangeArray := [10 To 10, 20 To 25, 2 To 2]
aRangeArray := [10, 20 To 25, 2];
注意   不允許進行相反的轉換。例如:
Local NumberVar num;
num := 5 + $10; //Error
//OK- convert to Number type using the CDbl function
num := CDbl (5 + $10) //Could also use ToNumber

5 轉換成 CCur (5) 然後再加到 CCur (10) 中,得到結果 CCur (15)。但這個貨幣值不能自動地指派給數字變數 num,因為 Currency 到 Number 的自動轉換是不允許的。同樣地,接受 Currency 引數的函式也可以接受 Number 引數,而且會將 Number 引數轉換成 Currency。但是,如果沒有先用 CDbl 將 Currency 轉換成 Number,那麼接受 Number 引數的函式就不能接受 Currency 引數。

請參閱

變數 | 簡單資料型別 | 範圍資料型別 | 陣列資料型別