var
      sig:Single;
      ========================
         sig:=125;
         edit1.Text := FloatToStr(sig);
========================
其结果让我费解 
         125.540000915527何故,望热心人士帮忙解答?

解决方案 »

  1.   

    delphi 7 上运行 没问题啊 还是125啊···
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      sig:Single;
    begin
      sig:=125;
      edit1.Text := FloatToStr(sig);
    end;end.
      

  2.   

    写错了 是
    var
      sig:Single;
        ========================
      sig:=125.54;
      edit1.Text := FloatToStr(sig);
    ========================
      

  3.   

    浮点数其实就是一个近似数,理解这个就好了。就好像delphi随机数不是真正的随机,理解这个也就好了。
      

  4.   

    觉得不习惯的话、你可以再Format格式化输出一下嘛、
      

  5.   

    应该是说在Win32下,所有浮点数计算都会出现这样的问题