判断输入是否为浮点数

判断输入是否为浮点数
在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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值