procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var s:integer; bj:integer; str:String; begin bj:=pos('.',edit1.text); if bj>0 then begin s:=length(edit1.Text); str:=Copy(edit1.text, bj,s-bj); if length(str)>=2 then key:=#0; end;end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var s:integer; bj:integer; str:String; begin bj:=pos('.',edit1.text); //--得到小数点的位置 if bj>0 then begin s:=length(edit1.Text); str:=Copy(edit1.text, bj,s-bj); //---取出小数点后的字串 if length(str)>=2 then key:=#0; end;end;
还有如何使edit中输入的数值如200,显示为200.00?请教
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var s:integer; bj:integer; str:String; begin if key<>#8 then begin bj:=pos('.',edit1.text); if bj>0 then begin s:=length(edit1.Text); str:=Copy(edit1.text, bj,s-bj); if length(str)>=2 then key:=#0; end; end;end;
还有如何使edit中输入的数值如200,显示为200.00?请教 答: procedure TForm1.Edit1Exit(Sender: TObject); var s:integer; bj:integer; str:String; i:integer; str1:string; begin bj:=pos('.',edit1.text); if bj<>0 then begin s:=length(edit1.Text); str:=Copy(edit1.text, bj+1,s-bj); str1:=Copy(edit1.text, 1,bj); if length(str)<2 then for i:=1 to 2-length(str) do str:=str+'0'; edit1.Text:=str1+str; end else edit1.Text:= edit1.Text+'.00' end;
edit有个属性叫MAXLEANTH,缺省是0,你设定个数字如5那只能输5位
限制输入两位小数~~ ------------------ procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var I: Integer; Len: Integer; str: string; begin str := Edit1.Text; Len := Length(str); for I:=0 to Len-1 do begin if str[I]='.' then begin if (Len-I=2) and (Key<>#8) then // 两位小数 Key := #0; end; end; end;
var s:integer;
bj:integer;
str:String;
begin
bj:=pos('.',edit1.text);
if bj>0 then
begin
s:=length(edit1.Text);
str:=Copy(edit1.text, bj,s-bj);
if length(str)>=2 then
key:=#0;
end;end;
var s:integer;
bj:integer;
str:String;
begin
bj:=pos('.',edit1.text); //--得到小数点的位置
if bj>0 then
begin
s:=length(edit1.Text);
str:=Copy(edit1.text, bj,s-bj); //---取出小数点后的字串
if length(str)>=2 then
key:=#0;
end;end;
var s:integer;
bj:integer;
str:String;
begin
if key<>#8 then
begin
bj:=pos('.',edit1.text);
if bj>0 then
begin
s:=length(edit1.Text);
str:=Copy(edit1.text, bj,s-bj);
if length(str)>=2 then
key:=#0;
end;
end;end;
答:
procedure TForm1.Edit1Exit(Sender: TObject);
var s:integer;
bj:integer;
str:String;
i:integer;
str1:string;
begin
bj:=pos('.',edit1.text);
if bj<>0 then
begin
s:=length(edit1.Text);
str:=Copy(edit1.text, bj+1,s-bj);
str1:=Copy(edit1.text, 1,bj);
if length(str)<2 then
for i:=1 to 2-length(str) do
str:=str+'0';
edit1.Text:=str1+str;
end
else
edit1.Text:= edit1.Text+'.00'
end;
------------------
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
I: Integer;
Len: Integer;
str: string;
begin
str := Edit1.Text;
Len := Length(str);
for I:=0 to Len-1 do
begin
if str[I]='.' then
begin
if (Len-I=2) and (Key<>#8) then // 两位小数
Key := #0;
end;
end;
end;