如何判断一个字符串是否为数字(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内的代码我不是用了异常处理语句吗?怎么还会报错?
 
你在编译环境里就会这样,这是正常滴,离开Delphi直接运行看看。
 
除了楼上说的,还有个函数TryStrtoFloat(str:string;out value:extended):boolean这个函数不会报错的。
 
strtointdef
 
楼上这个就可以了。
 
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;
 
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 ;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
461
import
I
后退
顶部