Wolfgang Chien's Homepage | Delphi學習筆記 - 問答篇 |
請問在 delphi 中要如何轉換一個變數的形態呢?
例如︰integer -> real
integer -> Real 並不需要額外轉換程式碼
Real -> Integer 有 Round() 與 Trunc() 這兩個函數可供選擇
如果指定敘述或運算敘述中, 使用的是同一類(category,例如: integer 與 byte 就同屬一類), Delphi 會自動作轉換, 不同類型之間的轉換(例如 integer -> real), 小範圍(integer)的可以直接指定給範圍比較廣的類型, 反之, 就必須透過轉換函式或型別轉換, 但是手冊也告訴我們, 兩者之間的型別轉換雖然可以騙過 compiler, 但是兩者的型別轉換是否合理, 則是程式員的責任, 如果轉換發生錯誤, 執行期間將舉發 EConvertError 這個例外
以下有個例子您可以參考一下:
procedure TForm1.Button1Click(Sender: TObject); var sngPrice: single; iAInteger: integer; begin iAInteger := 100; sngPrice := iAInteger; MessageDlg(IntToStr(Round(sngPrice)), mtInformation, [mbOK], 0); end; 參考資料 1. User's Guide, Page 157. 2. Object Pascal Language Guide, Page 25-27 3. OnLine Help Topics: Assignment Compatibility Type Compatibility Transfer Routines Value Typecasting Variable Typecasting
首頁 | 學習筆記 | 主題公園 | 軟體下載 | 關於本站 | 討論信群 | 相約下次 |