我做了一个很简单的数据处理问题! 代码如下! procedure TForm1.Edit1Change(Sender: TObject); var Trr,Trk:string; Tr,Ty:string; begin if(Edit1.Text=')or(Edit2.Text=')or(Edit3.Text=')then begin Edit4.Text:='; exit; end else if(strtofloat(Edit1.Text)>=1000)or(strtofloat(Edit2.Text)>=1000)or(strtofloat(Edit3.Text)>=1000)then begin Edit1.Text:='0'; Edit2.Text:='0'; Edit3.Text:='0'; exit; end else Trk:=floattostr(Strtofloat(Edit1.Text)*Strtofloat(Edit2.Text)*Strtofloat(Edit3.Text)); if strtofloat(Trk)=0 then begin Edit4.Text:='; exit; end else begin Trr:=Floattostr(Strtofloat(Edit1.Text)*Strtofloat(Edit2.Text)*Strtofloat(Edit3.Text)/1000000*35.32); showmessage(trr); Ty:=copy(Trr,ansipos('.',Trr)+4,1); showmessage(ty); if Strtoint(Ty)>=5 then begin Tr:=Floattostr(strtofloat(Trr)+0.001); showmessage(Tr); Tr:=copy(Tr,1,ansipos('.',Tr)+3); end else Tr:=copy(Trr,1,ansipos('.',Trr)+3); showmessage(Tr); Edit4.Text:=Tr; end; end;