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