读书人

mfc中可编辑文本框怎么判断输入的浮点

发布时间: 2012-04-15 18:39:21 作者: rapoo

mfc中可编辑文本框如何判断输入的浮点数是否合法
mfc中可编辑文本框要输入的必须是浮点数(0.2555和532e-9这两种形式),如果不是,在下一步操作的时候给出提示。
1、我把文本框的输入设置为float,还是有个问题,那就是如果输入不是浮点数,会给出提示,但是提示后直接报错退出程序。这个有没有什么方法可以让他报错后给出警告但不退出的。
2、我在网上找了个判断浮点数的例子,单独运行的时候两种形式都可以判断,但是我把他放到mfc中的时候就不能判断科学计数法表示的浮点数了
那个代码是这个:#include <stdio.h>
#include <string.h>
#include <ctype.h>

int chk(char st[])
{
int point=0,i,len;
if (st[0]!='+'&&st[0]!='-'&&!isdigit(st[0])) {
return 0;
}
len=strlen(st);
for (i = 1; i<len; ++i) {
if (!isdigit(st[i])&&st[i]!='.') {
return 0;
}
if (st[i]=='.') {
++point;
if (point>1) {
return 0;
}
}

}
return 1;
}
int main(void)
{
char st[80];
scanf("%*[ ]%79s",st);
printf("%s",chk(st)?"YES":"NO");
return 0;
}

[解决办法]
简单点用UpdateData判断
这个函数有返回值
[解决办法]
UpdateData 返回False时,表示用户输入不符合你的预期设定。

读书人网 >VC/MFC

热点推荐