读书人

相减为零时为啥会出错

发布时间: 2012-12-29 10:28:09 作者: rapoo

相减为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 …
判断它是否小于一个极小值

读书人网 >.NET

热点推荐