if s[Length(s)-2] = '.' then 不就行了吗, 再加上我那两个函数还有什么搞不定的给分吧,
var Strkey:string; begin if not (key in ['0'..'9',#13,#8,'.'] ) then //判断 是否为数字,<-,'.' Key := #0 else if key = '.' then begin if pos('.',Trim(edtDAJZ.Text+'.'))= 1 then Key := #0 else begin Strkey := Trim(edtDAJZ.Text+'.'); Delete(Strkey, 1, pos('.',Strkey)); if Pos('.', Strkey ) >0 then Key := #0; end; end else if Key = #13 then keybd_event(vk_tab, mapvirtualkey(vk_tab, 0), 0, 0);end;
if Pos('.',Edit1.text) <> 0 then
showmessage('小数')
else
showmessage('整数');回答是否过于简单了?
:-)
str:=inttostr(edit.text);
showmessage('整数');
except
str:=floattostr(edit.text);
showmessage('小数');
end;
var
Value, Code: Integer;
begin
Val(AStr, Value, Code);
Result := Code = 0;
end;function IsFloat(AStr: string): Boolean;
var
Value: Real;
Code: Integer;
begin
Val(AStr, Value, Code);
Result := Code = 0;
end;
就差 20 分就成星星了呜呜
Strkey:string;
begin
if not (key in ['0'..'9',#13,#8,'.'] ) then //判断
是否为数字,<-,'.'
Key := #0
else if key = '.' then
begin
if pos('.',Trim(edtDAJZ.Text+'.'))= 1 then
Key := #0
else
begin
Strkey := Trim(edtDAJZ.Text+'.');
Delete(Strkey, 1, pos('.',Strkey));
if Pos('.', Strkey ) >0 then
Key := #0;
end; end
else if Key = #13 then
keybd_event(vk_tab, mapvirtualkey(vk_tab, 0), 0, 0);end;
StrToFloat(edit1.text);
except
showmessage('不合法的数值类型');
exit;
end;
try
StrToInt(edit1.text);
except
Showmessage('带小数')
end;
var str:string;
try
str:=inttostr(edit1.text);
edit1.text:=showmessage('整数');
except
str:=floattostr(edit1.text);
edit1.text:=showmessage('小数');
end;
这样才对啊
如错了,请多多指教!!!
var str:string;
try
str:=inttostr(edit1.text);
showmessage('整数');
except
try
str:=floattostr(edit1.text);
showmessage('小数');
except
showmessage('啥也不是,哈哈');
end;