请问如何判断一个字符串是有效数字? 比如"12.34"这种字符串如何判断是数字?光用atof,当输入非数字返回的是0,没法判断了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你可以自己写一个函数,从string中逐个取出字符,判断是否是0-9的数字或者是小数点号,如果出现不匹配的,就不是合法数字了。 CString str = "123.456";char c;for(int i=0;i<str.GetLength();i++){ c = str.GetAt(i); if(c<48 || c>57 || c!=46) { AfxMessageBox("非法数字!"); break; }} bohut(伯虎)兄的好像不能判断字符之间的逻辑关系哈? sorry,:) CString str = "123.4561a"; char c; for(int i=0;i<str.GetLength();i++) { c = str.GetAt(i); if((c<48 || c>57) && c!=46) { AfxMessageBox("非法数字!"); break; } } 那如果是12..34 这样的肯定就判断不出来了,有没有除了词法分析挨个扫外更简单的方法哦isdigit只能检查单个字符的吧 遍历字符串每一位,再使用IsDigit 为什么gethostbyname有时候不能得到域名 不能显示模态对话框 对话框中工具条上按扭变灰 如何设置radiobutton的字体 如何用spy++得到qq的消息呢?谢谢! 关于打印预览的问题 One or more breakpoint cannot be set and have been disabled. 如何获取本机的IP? 请问在DLL里如何返回一个HICON? 急!各位大哥大姐帮帮忙啊 主机字节和网络字节的格式 如何在工具栏中设背景图
char c;
for(int i=0;i<str.GetLength();i++)
{
c = str.GetAt(i);
if(c<48 || c>57 || c!=46)
{
AfxMessageBox("非法数字!");
break;
}
}
CString str = "123.4561a";
char c;
for(int i=0;i<str.GetLength();i++)
{
c = str.GetAt(i);
if((c<48 || c>57) && c!=46)
{
AfxMessageBox("非法数字!");
break;
}
}
isdigit只能检查单个字符的吧