怎么判断一个字符串中是否只有数字

amartapple 2004-01-27 04:36:38
用InputBox获得一个字符串

sMenuNo:=InputBox('选择菜单号码','请输入选择菜单号码','');

如果sMenuNo中不是个整数的话,程序下面的操作就会出现异常,请问我怎么才能判断出字符串sMenuNo中是否只有数字
...全文
191 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyforlove 2004-01-27
  • 打赏
  • 举报
回复
楼上的怎么回了两次问题都回串了。
对于用strtoint(str)方法来捕捉一异常,我不太赞同,如果这个字符串过长的话,
这个方法就不行了。
最好是挨个检查
function isnum(str:string):boolean;
var
i:integer;
begin
for i:=1 to length(str) do
if not (str[i] in ['0'..'9']) then
begin
result:=false;
exit;
end;
result:=true;
end;
weixiaohua 2004-01-27
  • 打赏
  • 举报
回复
//刚才那个不对.这个对!
procedure TForm1.Button1Click(Sender: TObject);
var
sMenuNo: string;
begin
sMenuNo := edit1.Text;
if (sMenuNo > '0' ) and (sMenuNo <= '10') then
self.Caption := 'aaa'
else
Application.MessageBox ('无效的菜单编号', '错误', MB_OK);
end;
lgqTiger 2004-01-27
  • 打赏
  • 举报
回复
同意楼上的说法。
overtime 2004-01-27
  • 打赏
  • 举报
回复
function isnum(str:string):boolean;
begin
try
strtoint(str);
result:=true;
except
result:=false;
end;
end;
weixiaohua 2004-01-27
  • 打赏
  • 举报
回复
//假如你有十个菜单
if (sMenuNo > 0) and (sMenuNo <= 10) then
//处理你定义的过程
else
messagebox('无效的菜单编号');


5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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