判斷輸入是否為浮點數

來源:互聯網
上載者:User
判斷輸入是否為浮點數
在VC程式編輯時經常會遇到控制輸入數為浮數的情況,若設定輸入框格式為float型,雖可以滿足要求,但是在即時控制時卻會遇到一些困難,比如小數點不能輸入的情況
因此還是將其設定為CString型比較方便,並寫個函數進行控制,顯得更為方便
這樣還可以方便的控制其小數點後只能輸入幾位小數的情況
其函數為
BOOL CIsFloatDlg::IsFloat(CString &str, int ID)
{
 int dotFlag=0;
//是否為浮點數
 for(int i = 0; i < str.GetLength(); i++)
 {
  if(str[i] == '.')
   dotFlag++;
  if ((dotFlag>1 )//小數點多於一個
   ||
   !((str[i] == '.')|| (str[i] >= '0' && str[i] <= '9'))//所輸入的數不是.0-9
   )
  {
   MessageBox("不是數字");
   ((CEdit*)GetDlgItem(ID))->SetSel(0,1000,true) ; 
   return false;
  }
 }
//只能輸入兩位小數
 int dotPosition=str.Find(".");
 if(dotPosition!=-1)
 {
  str=str.Left(dotPosition+3);//刪除最後一位
  UpdateData(false);
  ((CEdit*)GetDlgItem(ID))->SetSel(1000,1000,false) ;//焦點停在最後
  return false;
 }
 return true;
}
原代碼下載 http://download1.csdn.net/down3/20070610/10104714439.rar

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.