一个小问题!

jxk 2003-01-07 02:32:03
请问有没有函数判断一个字符串是否是数字
如输入“123”则返回是
输入“123abc”则返回不是
...全文
28 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Comer 2003-01-27
  • 打赏
  • 举报
回复
kyo1979 (绝望的生鱼片),怎么不给我分呢?
huangrenguang 2003-01-07
  • 打赏
  • 举报
回复
StrToInt()只是对整型值有效,如果是浮点数就没用啦,我想应该这样做:
首先分析小数点的个数是否大于1,大于1,当然就不是数,反之就遍历字符串,逐个分析字符串中每一个字符的ASII码是不是在0和9之间,或是小数点。
caiyang 2003-01-07
  • 打赏
  • 举报
回复
comerliang的方法是对的。
huangrenguang 2003-01-07
  • 打赏
  • 举报
回复
StrToInt()只是对整型值有效,如果是浮点数就没用啦,遍历字符串,首先分析小数点的个数是否大于1,大于1,当然就不是数,反之就逐个分析字符串中每一个字符的ASII码是不是在0和9之间,或是小数点。
Comer 2003-01-07
  • 打赏
  • 举报
回复
var
str1: string;
i: integer;
begin
str1 := Edit1.Text;
for i:=1 to length(str1) do
begin
if str[i] in ['0'..'9'] then
Flag := True;
else
begin
ShowMessage('不是数字');
Flag := False;
Break;
end;
...
end;
hotice 2003-01-07
  • 打赏
  • 举报
回复
try
StrToInt('123');
result := true;
except
on E:EConvertError do
result := false;
end;
brown0432 2003-01-07
  • 打赏
  • 举报
回复
ifkey not in [0..9] then
false
else
true;
nhconch 2003-01-07
  • 打赏
  • 举报
回复
var number: Integer;
begin
try
number := StrToInt(str);
result := true;
except
result := false;
end;
end;

5,388

社区成员

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

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