作者psps2wswsc (Tai)
看板HCHS_BioClub
標題[心得] 限制只能輸入integer and float
時間Tue Oct 30 13:23:12 2012
剛好在整理先前寫過的東西,順便貼一下!!
CString NowValue;
CEditObject.GetWindowText(NowValue); //將控制項現有字串暫存
const char* buf=((LPCTSTR)NowValue); //將字串轉換為Char型態(為了比對ASCII)
int Check=0; //判斷字元
int Dot=0; //判斷小數點
for(int i=0; (i < strlen(buf));i++)
{
((buf[i] == '.')||(buf[i] >= '0' && buf[i] <= '9')) ? Check+=0:Check+=1;
//字串等於 . 或 0 ~ 9之間 Check為0(無錯誤)非條件Check+1(累加錯誤)
(buf[i] == '.') ? Dot+=1 : Dot += 0;
//判斷小數點是否只有一個
}
if((Check==0) && (Dot <=1))
{
CEditObject.SetWindowText(NowValue);
//當字串符合上述兩條件則將控制項塞回原先字串
}
else
{
ListTextObject.empty(); //錯誤清空字串!
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.172.26
→ psps2wswsc:上面的bbuf手誤打錯其實他是buf!! 10/30 13:25
推 frank6780:可以在文章列表前面按大寫E 進入修改 10/30 13:49
※ 編輯: psps2wswsc 來自: 111.251.172.26 (10/30 13:53)