如何判断一个字符串是否为数字(50)

绯红之王

Unregistered / Unconfirmed
GUEST, unregistred user!
function idxcodeformat(id : string):boolean;var x1 : double;begin Try x1 := strtofloat(leftstr(id,17))
Except result := false
exit
End
result := true;end;为什么运行的时候程序先要报错 说leftstr(id,17) 不是一个float的值 然后才再运行except内的代码我不是用了异常处理语句吗?怎么还会报错?
 
S

szhcracker

Unregistered / Unconfirmed
GUEST, unregistred user!
你在编译环境里就会这样,这是正常滴,离开Delphi直接运行看看。
 
A

agaric

Unregistered / Unconfirmed
GUEST, unregistred user!
除了楼上说的,还有个函数TryStrtoFloat(str:string;out value:extended):boolean这个函数不会报错的。
 
D

delphfans

Unregistered / Unconfirmed
GUEST, unregistred user!
strtointdef
 
Z

zhao_auau

Unregistered / Unconfirmed
GUEST, unregistred user!
楼上这个就可以了。
 
V

Vsun

Unregistered / Unconfirmed
GUEST, unregistred user!
TryStrtoFloat应该能达到你的要求或是如下函数让你参考一下,随便写的,很多问题没有考虑进去function IsNumber(Str: string): Boolean;var i: integer;begin result := true
for i := 1 to Length(Str) do if not (Ord(Str) in [46, 48..57]) then result := false;end;
 
Y

yangb0803

Unregistered / Unconfirmed
GUEST, unregistred user!
Const Alpha = ['0'..'9'];var I: Integer ;begin Result := False
for I := 1 to Length(Ident) do begin if not (Ident in Alpha)then Exit
end
Result := True ;
 
Top Bottom