如何用最少的代码实现文本框只能输入正负数

pan7861 2004-11-22 10:42:24
要求不能输入字母等符号,但开头可以包含“+”“-”也不能包含一个以上的加减号。数字可以有小数点。比如0,-1,-2,-1.2,+20.0000等。
...全文
92 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pan7861 2004-11-22
楼上这位兄弟,代码比较长啊,我是想找个简洁的方式。不过还是感谢你。我觉得算法还可以改进以提高速度。
回复
andrew_ma 2004-11-22
if (chNum[1]=='\0') //判断字符串是否只有一位
{
if ((chNum[0]<'0')||(chNum[0]>'9')) //只有一位的情况下,首位是否为数字
{
AfxMessageBox("首位错!!!!") ;
return FALSE;
}
}
else
{
if ((chNum[0] == '-')||(chNum[0] == '+')||(('0'<=chNum[0])&&(chNum[0]<='9')))//判断首位是否含有非数字非正负号以外的字母
{
while (chNum[nNum]!='\0') //判断字符串中是否含有非数字非小数点的符号
{
if (chNum[nNum]!='.'&&((chNum[nNum]>'9')||(chNum[nNum]<'0')))
{
AfxMessageBox("wrong,pls put in number!");
return FALSE;
}
else
{
if (chNum[nNum]=='.') //判断是否有多个小数点
{
nA +=1;
if(nA>1)
{
AfxMessageBox("小数点过多!");
return FALSE;
}
}
}
if (nNum>15) //是否超过有效位
{
AfxMessageBox("超过15位有效位!");
return FALSE;
}
nNum++;
}
}
else //判断首位是否错误
{
AfxMessageBox("wrong,pls put in number首位错!");
return FALSE;
}

}
回复
handwolf 2004-11-22
同意楼上的!
但是你要写一个算法来控制“+-.和数字”的有效顺序!
回复
I_Love_CPP 2004-11-22
重载OnChar,在其中限制用户输入
回复
crushor 2004-11-22
把编辑框的关联变量属性直接设成FLOAT?
回复
lmxctds 2004-11-22
// 当输入为空时,也将返回FALSE
BOOL IsFloat(const char * pcNum)
{
char * pc = pcNum;
BOOL bolPoint = FALSE;
if ('-' == *pc || '+' == *pc)
pc++;
do
{
if ('0' > *pc || '9' < *pc)
if ('.' == *pc)
if (bolPoint)
return FALSE;
else
bolPoint = TRUE;
else
return FALSE
} while(*pc++);

return TRUE;
}
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-11-22 10:42
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……