首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

mfc中可编辑文本框怎么判断输入的浮点数是否合法

2012-04-15 
mfc中可编辑文本框如何判断输入的浮点数是否合法mfc中可编辑文本框要输入的必须是浮点数(0.2555和532e-9这

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时,表示用户输入不符合你的预期设定。

热点排行