try StrToInt(s) Result := true; except Result := false; end;
****************** try StrToInt(s) Result := true; except Result := false; end;*******************支持!
用TryStrToInt来处理! function TryStrToInt(const S: string; out Value: Integer): Boolean;
try strtoint(s) except showmessage('不是数字!'); end;
大家回答的好象有问题吧。 如2.3也是数字,但strtoint却不能成功……我觉得可以用一个非常简单的办法:try s=s+1 Result := true; except Result := false; end;
这种是最简单的一种方法用函数搞定 if strtointdef(edit1.Text,4)=4 then showmessage('是数字') else showmessage('不是数字'); 这种是相对较麻烦的一种方法 var str: string; i: Integer; begin str := Edit1.Text; for i := 1 to Length(Str) do begin if not (str[i] in ['0'..'9']) then begin ShowMessage('不是数字'); Exit; end; end; ShowMessage('是数字');最后一种方法呢就是用异常处理。。
try s=s+1 Result := true; except Result := false; end; 呵呵,,同意用这招~! 强~!
如果是小数的话就用FLOATTOSTR()
靠,楼上的各位,数字应该包括小数吧 下面的才是正宗处理办法!! var S: string; F: Extended; begin S := '1211.22f'; if not TextToFloat(PChar(S), F, fvExtended) then Showmessage('"' + s + '"不是数字!'); end;
if not (str[i] in ['0'..'9']) then begin ShowMessage('不是数字'); Exit; end;
转型,strtoint() 返回结果真就是,假就不是。
以上的代码多少都有问题的吧 如是float型下面的程序是不行的 for I := 1 to length(str) do begin if not (str[i] in ['0'..'9']) then begin ShowMessage('不是数字'); Exit; end; end; 如果是 try s=s+1 Result := true; except Result := false; end; 呵呵s是string呀
判断的话还是需要依据字符串的去做的 首先Post一下有没有小数点,有几个,iDot变量记小数点的数量 if idot <= 1 then 继续判断 for I := 1 to length(str) do begin if not (str[i] in ['0'..'9']) or ( str[I] <> '.') then showmessage('....');
end;
//判断串是不是数字串 function IsNum(TempStr : String) : bool ; var Temp : Double; Mark : integer; begin val(TempStr,Temp,Mark); result := Mark = 0; end; //判断串是不是整型数字 function IsInt(TempStr : String) : Bool; var Temp : integer; Mark : integer; begin val(TempStr,Temp,Mark); Result := Mark = 0; end;
StrToInt(s)
Result := true;
except
Result := false;
end;
try
StrToInt(s)
Result := true;
except
Result := false;
end;*******************支持!
function TryStrToInt(const S: string; out Value: Integer): Boolean;
strtoint(s)
except
showmessage('不是数字!');
end;
如2.3也是数字,但strtoint却不能成功……我觉得可以用一个非常简单的办法:try
s=s+1
Result := true;
except
Result := false;
end;
if strtointdef(edit1.Text,4)=4 then
showmessage('是数字')
else
showmessage('不是数字');
这种是相对较麻烦的一种方法
var
str: string;
i: Integer;
begin
str := Edit1.Text;
for i := 1 to Length(Str) do
begin
if not (str[i] in ['0'..'9']) then
begin
ShowMessage('不是数字');
Exit;
end;
end;
ShowMessage('是数字');最后一种方法呢就是用异常处理。。
s=s+1
Result := true;
except
Result := false;
end;
呵呵,,同意用这招~! 强~!
下面的才是正宗处理办法!!
var
S: string;
F: Extended;
begin
S := '1211.22f';
if not TextToFloat(PChar(S), F, fvExtended) then
Showmessage('"' + s + '"不是数字!');
end;
begin
ShowMessage('不是数字');
Exit;
end;
返回结果真就是,假就不是。
如是float型下面的程序是不行的
for I := 1 to length(str) do
begin
if not (str[i] in ['0'..'9']) then
begin
ShowMessage('不是数字');
Exit;
end;
end;
如果是
try
s=s+1
Result := true;
except
Result := false;
end;
呵呵s是string呀
首先Post一下有没有小数点,有几个,iDot变量记小数点的数量
if idot <= 1 then 继续判断
for I := 1 to length(str) do
begin
if not (str[i] in ['0'..'9']) or ( str[I] <> '.') then
showmessage('....');
end;
function IsNum(TempStr : String) : bool ;
var
Temp : Double;
Mark : integer;
begin
val(TempStr,Temp,Mark);
result := Mark = 0;
end;
//判断串是不是整型数字
function IsInt(TempStr : String) : Bool;
var
Temp : integer;
Mark : integer;
begin
val(TempStr,Temp,Mark);
Result := Mark = 0;
end;