首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

相减为零时,为啥会出错

2012-12-29 
相减为0时,为啥会出错procedure TFrow_in.numChange(Sender: TObject)vari,j:Doublebegini:0j:0if (

相减为0时,为啥会出错
procedure TFrow_in.numChange(Sender: TObject);
var
  i,j:Double;
begin
  i:=0;
  j:=0;
  if (Button1.Visible=False) then
  begin
      if Edit2.Text<>'' then
      begin
       i:=StrToFloat(Edit2.Text);
      end;
      if Edit4.Text<>'' then
      begin
       i:=i-StrToFloat(Edit4.Text);
      end;

      if Edit8.Text<>'' then
      begin
       i:=i-StrToFloat(Edit8.Text);
      end;
      if Edit9.Text<>'' then
      begin
       i:=i-StrToFloat(Edit9.Text);
      end;

      if Edit10.Text<>'' then
      begin
       i:=i-StrToFloat(Edit10.Text);
      end;

      if Edit11.Text<>'' then
         j:=StrToFloat(Edit11.Text);

      Edit13.Text:=FloatToStr(i);
      Edit14.Text:=FloatToStr(i-j);
  end;
end;

就是比如EDIT2=100,中间再减两个数等于0时,I值不是0是一个很长的科学计数,当相减后总得数小于0时显示也正数
[解决办法]
浮點數不是精確數,當結果為0時,在小數位後面可能出現很小的數。
[解决办法]
同上。。。。。
[解决办法]
两个浮点A ,B判断相等可以if (a-b<=1e-9) then …
判断它是否小于一个极小值

热点排行