在保存数据之前,怎么判断Edit->Text 是数值型数据?

lft1 2008-01-25 10:29:08
在保存数据之前,怎么判断Edit->Text 是 数值型数据?
...全文
201 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaoux 2008-02-24
  • 打赏
  • 举报
回复
int n;
try
{
n = Edit1-> Text.Trim().ToInt();
}
catch(...)
{
ShowMessage("not number");
}
或者n = Edit1-> Text.Trim().ToIntDef(0)

建议这个
kiki_hipig 2008-02-22
  • 打赏
  • 举报
回复
bool j = false;
try
{
StrToFloat(LabeledEdit1->Text);
j = true;
}
catch(Exception &E)
{
AnsiString Message;
Message = "Only input munber...\nCant input \"" + LabeledEdit1->Text + "\"";
Application->MessageBox(Message.c_str(), Caption.c_str(),
MB_OK + MB_ICONSTOP + MB_TOPMOST);
j = false;
}
if(j)
{
....................
}
else
..................
honghust 2008-02-21
  • 打赏
  • 举报
回复
都是正解.
lc2236 2008-02-15
  • 打赏
  • 举报
回复
char szbuf[10];
Edit1->GetTextBuf(szbuf);
int value=atoi(szbuf);
threelock 2008-02-14
  • 打赏
  • 举报
回复
使用正则表达式。
小笨象 2008-01-29
  • 打赏
  • 举报
回复
cczlp 已经足够了。
TryStrToInt也可。
定义一个默认值,如99999
返回这个值,就不是数值。
ttcx2008 2008-01-27
  • 打赏
  • 举报
回复
最好用MaskEdit控件,指定EditMask属性即可。
ttcx2008 2008-01-27
  • 打赏
  • 举报
回复
4楼的做法是不严谨的,如果用右键菜单粘贴方式把非数字值粘贴进去呢?
僵哥 2008-01-25
  • 打赏
  • 举报
回复
好象有一个TryStrToInt
cczlp 2008-01-25
  • 打赏
  • 举报
回复
int n;
try
{
n = Edit1->Text.Trim().ToInt();
}
catch(...)
{
ShowMessage("not number");
}
或者n = Edit1->Text.Trim().ToIntDef(0)
i_love_pc 2008-01-25
  • 打赏
  • 举报
回复
没找到现成的函数,可以自己写一个。
可以通过判断每个字符的ascii码实现,也可以用try...catch...捕获StrToInt()转换异常的方式实现.
controstr 2008-01-25
  • 打赏
  • 举报
回复
在Edit的按键事件里判断按下的键是不是数字的,如果不是数字的就不让输进去

if( Key < '0' || Key > '9' )
{
Key = 0;
}

13,825

社区成员

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

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