想判断EDIT。TEXT是否输入非数字,如下:
if 。。 then
begin
application.MessageBox('请输入数值','提示',MB_OK);
exit;
end
怎么写判断一个string类型的字符串是否包含非数字的函数。谢谢!
if 。。 then
begin
application.MessageBox('请输入数值','提示',MB_OK);
exit;
end
怎么写判断一个string类型的字符串是否包含非数字的函数。谢谢!
标题:检查数字字符串
说明:使用于运用程序检查用户数字输入
设计:Zswang
日期:2002-01-24
支持:[email protected]
//*)///////Begin Source
function IsNumber(mStr: string): Boolean; { 返回字符串是否是正确的数字表达 }
var
I: Real;
E: Integer;
begin
Val(mStr, I, E);
Result := E = 0;
E := Trunc(I);
end; { IsNumber }function IsInteger(mStr: string): Boolean; { 返回字符串是否是正确的整数表达 }
var
I: Integer;
E: Integer;
begin
Val(mStr, I, E);
Result := E = 0;
E := Trunc(I);
end; { IsInteger }function IsHex(mStr: string): Boolean; { 返回字符串是否是正确的十六进制表达 }
var
I: Integer;
begin
Result := true;
for I :=1 to Length(mStr) do
begin
//P := Copy(mStr,I,0);
if Pos(Upcase(mStr[I]),'0123456789ABCDEF')>0 then
Result :=Result and true
else
Result :=Result and false;
end;
end;
///////End Source///////Begin Demo
procedure TForm1.Button1Click(Sender: TObject);
begin
CheckBox1.Checked := IsNumber(Edit1.Text);
CheckBox2.Checked := IsInteger(Edit1.Text);
end;
///////End Demo
StrToInt(Edit1.Text);
except
showmessage('有非数字字符');
end;