通常在 Crystal Reports 之中,如果沒有明確地輸入型別轉換函式,就不能將一種型別值用在另一種型別中。例如:
Dim postalCode as String 'Error- assigning a Number value to a String variable postalCode = 10025 'OK- use the type conversion function CStr 'to create "10025" postalCode = CStr (10025, 0)
不過,有些轉換會自動進行:
例如,以下的指派是正確的:
Dim cost As Currency 'Same as: cost = CCur (10) cost = 10 Dim orderDate As DateTime 'Same as: orderDate = CDateTime (1999, 9, 23, 0, 0, 0) orderDate = CDate (1999, 9, 23) Dim aRange As Number Range 'Same as: aRange = 20 To 20 aRange = 20 Dim aRangeArray () As Number Range 'Same as : 'aRangeArray = Array (10 To 10, 20 To 25, 2 To 2) aRangeArray = Array (10, 20 To 25, 2)
注意 不允許進行相反的轉換。例如:
Dim num As Number num = 5 + CCur (10) 'Error 'OK- convert to Number type using the CDbl function num = CDbl (5 + CCur (10))
5 轉換成 CCur (5) 然後再加到 CCur (10) 中,得到結果 CCur (15)。但這個貨幣值不能自動地指派給數字變數 num,因為 Currency 到 Number 的自動轉換是不允許的。同樣地,接受 Currency 引數的函式也可以接受 Number 引數,而且會將 Number 引數轉換成 Currency。但是,如果沒有先用 CDbl 將 Currency 轉換成 Number,那麼接受 Number 引數的函式就不能接受 Currency 引數。