怎样判断Edit->Text中输入的是合法的float?----小鸟问鹰雄

LIUTAO2002 2001-05-15 01:44:00
怎样判断Edit->Text中输入的是合法的float?----小鸟问鹰雄
...全文
132 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
TR@SOE 2001-05-16
  • 打赏
  • 举报
回复
问题本身就是判断的问题,而不是过滤、限制那么复杂。所以,我想可以用最简单的方法来完成。
actinia 2001-05-16
  • 打赏
  • 举报
回复
关注!
comanche 2001-05-15
  • 打赏
  • 举报
回复
问题是简单但不是一两句说得完的。
楼上的smartboyme兄说得没错
但更重要的还要解决 WM_PASTE 事件...要不然
踢踏 2001-05-15
  • 打赏
  • 举报
回复
TR@SOE() 朋友的方法比较简单,但可以输入其它的字符,最好能在前面过滤一下,代码可以参考smartboyme(小东) 的方法
hof 2001-05-15
  • 打赏
  • 举报
回复
TR@SOE() 朋友的方法比较实际、可靠!
cfchhx 2001-05-15
  • 打赏
  • 举报
回复
用MasKEdit可以,也可以在Edit1KeyPress中用代码判断输入的字符是否正确。
seahorse 2001-05-15
  • 打赏
  • 举报
回复
去这里下载
http://bcbdev.at.china.com/kjtt/download/rsedits.zip
smartboyme 2001-05-15
  • 打赏
  • 举报
回复
可以直接过滤输入数据:
以下例子即是:只允许输入浮点数,而且不能有两个小数点。
void __fastcall TFForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
int DotCount=0;
String str1=Edit1->Text;
for(int i=1;i<(str1.Length()+1);i++)
{
if(str1.SubString(i,1)==".")
DotCount=DotCount+1;
}

if(DotCount==1)
{
if((Key<48||Key>57)&&Key!=VK_BACK)
{
Key=NULL;
}
}
else
{

if((Key<48||Key>57)&&Key!=46&&Key!=VK_BACK)
{
Key=NULL;
}

}

}
xycleo 2001-05-15
  • 打赏
  • 举报
回复
对!!用MasKEdit代替吧!!
lg12net 2001-05-15
  • 打赏
  • 举报
回复
为什么不用MaskEdit控件来替代EditBox控件呢?
TR@SOE 2001-05-15
  • 打赏
  • 举报
回复
如果需要的话,可以用:
try
{
float x=FloatToStr(Edit1->Text);
}
catch(...)
{
ShowMessage("Something wrong");
}

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧