如何判断一个字符串是不是数字(执行速度快,代码少)?(50分)

首部 function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload; $[SysUtils.pas
首部 function TryStrToFloat(const S: string; out Value: Single): Boolean; overload; $[SysUtils.pas
首部 function TryStrToFloat(const S: string; out Value: Double): Boolean; overload; $[SysUtils.pas
功能 返回字符串S转换成浮点数Value是否成功
说明 字符串非浮点数表达时返回False并且Value将输出为不确定的值
参考 function SysUtils.TextToFloat
例子
///////Begin TryStrToFloat
procedure TForm1.Button1Click(Sender: TObject);
var
E: Extended;
begin
CheckBox1.Checked := TryStrToFloat(Edit1.Text, E);
Edit2.Text := FormatFloat('', E);
end;
///////End TryStrToFloat
━━━━━━━━━━━━━━━━━━━━━
 
32.5+32怎样写??
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key in [0..9] then Ruslt:=Key
else Key:=#0;
end;
 
try
strtoint(str);
except
 
procedure isnumber(Astr:string):Boolean;
var i:integer;
begin
for i:=0 to Length(Astr) do
if Astr in [0..9] then Result:=True;
end;
靠,我还不会用Sub那,以前是学Qbasic的穷人
 
procedure isnumber(Astr:string):Boolean;
var i:integer;
begin
for i:=0 to Length(Astr) do
begin
if Astr in [0..9] then
begin
Result:=True;
break;
end;
inc(i);
end;
end;
上个有错,是在线写的,水平有县吗![:)]
 
我的最好:[:D]
Assert(TryStrToFloat(Str, ADouble), '非数字.');
 
顶部