delphi中的实行数据当为0。1时你再给减0。1它会变成5。5

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: double;
      s: string;
    begin
      i := 0.1;
      i := i - 0.1;
      s := floattostr(i);
      showmessage(s);
    end;结果为
    5.54975987041018E-18
    ///////////////////////////////////
    楼主发现的错误是不是这样的?
    //////////////////////////////////
    出现错误的原因好像是因为实数用二进制存储十进制数时会出现误差。