读书人

新人求教判断数目字的函数

发布时间: 2013-03-22 09:49:50 作者: rapoo

新人求教,判断数字的函数。
VB里有IsNumeric这个可以判断是不是数字,在delphi里不知有没。谢谢
[解决办法]


//判断一个字符串是否为整数
function TYLYMPCfrm.IsNumber(str:string):boolean;
var
i:integer;
begin
Result:=true;
for i:=1 to length(str) do
if str[i] in [ '0'.. '9'] then continue
else
begin
Result:=false;
break;
end;
end;

判断一个字符串是否为实数
function TYLYMPCfrm.IsFloat(str:string):boolean;
var
i,count:integer;
begin
count:=0; //记录小数点的个数
Result:=true;
for i:=1 to length(str) do
begin
if str[i] in [ '0'.. '9'] then continue;
if (str[i] = '. ') and (count=0) then
begin
count:=count+1;
continue;
end
else
begin
Result:=false;
break;
end;
end;



[解决办法]
delphi 自带有此类函数,无需再造。


// 如果是数字返回True,否则FALSE
// 并将S转为Integer
function TryStrToInt(const S: string; out Value: Integer): Boolean;
如:
var i:integer;
beging
if TryStrToInt('12334' , i ) then
ShowMessage(IntToStr(i))
else
ShowMessage('非数');
end;

{ 类似的还有:
TryStrToFloat()
TryStrToFloat()
TryStrToBool()
TryStrToCurr()
TryStrToDate()
TryStrToTime()
......
}

读书人网 >.NET

热点推荐