MFC 如何实现edit框内只能输入数字包括负号
CStringa;inti=atoi(a);if(i<=300&&i>=-300){a.Format("%d",i);xml.FindChildElem("t1");xm...
CString a ;
int i = atoi(a);
if(i<=300&&i>=-300)
{
a.Format("%d", i);
xml.FindChildElem("t1");
xml.SetChildData(a);
xml.Save("lightpathlog.xml");
xml.OutOfElem();
}
else
{
MessageBox("输入错误,请重新输入!");
}
问题还是可以输入字符 展开
int i = atoi(a);
if(i<=300&&i>=-300)
{
a.Format("%d", i);
xml.FindChildElem("t1");
xml.SetChildData(a);
xml.Save("lightpathlog.xml");
xml.OutOfElem();
}
else
{
MessageBox("输入错误,请重新输入!");
}
问题还是可以输入字符 展开
2个回答
展开全部
//当第一位既不是数字也不是负号是报错 当然 其他位 如果不是数字直接报错
UpdateData(TRUE);
int len = m_str.GetLength();
for (int i=0;i<len;i++)
{
if (!((m_str.GetAt(i)>='0' && m_str.GetAt(i)<='9')|| m_str.GetAt(0)=='-'))
{
AfxMessageBox("error!");
m_str="";
UpdateData(FALSE);
}
}
UpdateData(TRUE);
int len = m_str.GetLength();
for (int i=0;i<len;i++)
{
if (!((m_str.GetAt(i)>='0' && m_str.GetAt(i)<='9')|| m_str.GetAt(0)=='-'))
{
AfxMessageBox("error!");
m_str="";
UpdateData(FALSE);
}
}
追问
这程序怎么感觉有问题啊
追答
有什么问题 我就是没加你的300 到 -300 你把判断加上就是了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询