如何判断一串字符是纯的数字??? 找进销存软件
最好给的函数性的东西;
2楼: function TForm1.IsNumber(NumberStr: String): Boolean;
begin
Result := True;
try
StrToInt(NumberStr);
except
Result := False;
end;
end; 如速达财务软件试用版
3楼: TryStrToInt
TryStrToInt64
4楼: 楼上的思维果然独特!![:)]
5楼: TryStrToFloat
6楼: 字符串是纯的数字,只能从第一个字符看市,一个个判断是否是0-9的数字,如果发现一个不是,返回否
纯数字,必然不包含小数点
且第一位是0也叫纯数字
记账软件版7楼: 呵.服了吧.
8楼: function IsInt(const s: String): Boolean;
var
I: Integer;
E: Integer;
begin
Val(s, I, E);
Result :=(E = 0);
E := Trunc( I );
end;
9楼: [:D]不要自大!
10楼: 必须一位一位的来进行判断啊!我开始想通过比较Ascii码来处理,但是不知道在delphi中怎么用!楼上各位不是太明白你们的思想./
11楼: 真受不了你,为什么要一个一个来判断啊.我那个函数不管有没有小数点,都可以判断啊.
12楼: 同意benhacker的方法,我也是这样做的 如进销存软件
13楼: 自delphi7开始提供4个判断字符串为数字类型的方法
TryStrToInt
TryStrToInt64
TryStrToFloat
TryStrToCurr
不过我觉得这个纯数字的含义是不是把字符 壹 贰 这样的汉字也可认为数字吧
当然楼主也可以考虑正则表达式
记账软件版14楼: 看Delphi幫助,val函數
15楼: StrToIntDef(Str,0) 判断Str否是整型,如果不是则返回值为0
Strtofloatdef(Str,0) 判断Str否是实型,如果不是则返回值为0
Function IsNum(Str:string):Boolean;
begin
if (StrToIntDef(Str,0)<>0)
then Result:=True
else if( StrTofloatDef(Str,0)<>0)
then Result:=True
else Result:=False
end;
16楼: 再来一个独特的
function isInt(str : string) : boolean;
var
RegExpr : TRegExpr;
begin
try
RegExpr := TRegExpr.Create;
RegExpr.Expression := ''^\d+'';
result := RegExpr.Exec(str);
finally
RegExpr.Free;
end;
end;
17楼: 如果你要使用Beyondbill的正则表达式方法的得要另外uses单元进来
偶最喜欢正则表达式了 ^_^
18楼: 哈哈,越来越独特了.
19楼: 学习。。。
20楼: 学习
记账软件版21楼: 谢谢各位捧场!