如何偵測輸入的是字串或數字 |
尚未結案
|
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
北方佬 您好: 參考一下以下作法:
AnsiString chkStr="0123456789"; // 要檢查的數字字元 (可視需要自行增添,例如小數點) bool isNum = true; // 先假設字串內容是數字 for (int i=1; i<=aStr.Length(); i ) { if(chkStr.Pos(aStr.SubString(i, 1)) == 0){ // 如果不是 chkStr 之中的任一字元 isNum = false; // 字串內容含有非數字的字元 break; } } if (!isNum) { // 若不是數字資料 return; }如果您的程式中有多處需要用到相同比對方式,也可以考慮將上述動作寫成自定函式,以便於使用,例如: bool __fastcall isNum(AnsiString Str) { AnsiString chkStr="0123456789."; bool isNumFlag = true; for(int i=1; i<=Str.Length(); i ){ if(chkStr.Pos(Str.SubString(i,1)) == 0){ isNumFlag = false; break; } } return isNumFlag; }然後在您的程式中寫成: AnsiString aStr; InputQuery("School Point","Please Input",aStr); if (aStr=="") { return; } if (!isNum(aStr)) { return; }7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/08/03 03:40:45 |
北方佬
一般會員 發表:15 回覆:35 積分:10 註冊:2005-07-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |