關於 Tedit 元件的輸入大小 |
尚未結案
|
yhc0927
一般會員 發表:3 回覆:5 積分:1 註冊:2003-12-21 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: 我今天宣告一個 int a 我想將 Tedit 元件裡面的輸入 轉成數字存到a去 我的做法是 a = edit->Text.ToInt(); 但是我發現一個問題就是說 如果我輸入超過 11的數字(假設是11111111111) 時就會出錯 一個 valid interger的錯誤訊息。 請問我這是錯在哪裡呢? 有沒有什麼解決的辦法?您好, 一個int的數值範圍為 -2147483648 ~ 2147483647, 當超出這個範圍時就會發生錯誤, 而解決您問題的方法就是用try..except把這部份的碼包起來, 在適當的時機顯示錯誤訊息, 例如: __try { int a = Edit1->Text.ToInt(); } __except(TRUE) { ShowMessage("不正確的整數值, 請輸入-2147483648 ~ 2147483647間的值"); };這是在BCB裡是這樣解釋ToInt()的: ToInt converts the given string to an integer value and returns the integer. If the string doesn't contain a valid value, an EConvertError exception is thrown. 當所要轉換的字串不是一個有效的整數會出現例外. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |