有初始值,在这我没写,
function TPUMCredenceFrm.equal: boolean;
var
sumj,sumd : real;
i : integer;
begin
sumj := 0;
sumd := 0;
dmPUCredence.adryDetilQuery.First;
for i := 0 to dmPUCredence.adryDetilQuery.RecordCount -1 do
begin
sumj := sumj + dmPUCredence.adryDetilQuery.FieldByName('MoneyAmountDr//金额').AsFloat;
sumd := sumd + dmPUCredence.adryDetilQuery.FieldByName('MoneyAmountCr//金额').AsFloat;
dmPUCredence.adryDetilQuery.Next;
end;
if sumd = sumj then
begin
equal := true;
end
else
begin
equal := false;
end;
end;
以上是完整的函数,金额是两位小数,运行后sumd = sumj都等于2.04,但就是返回false我要是手工把sumd 和sumj都减0.1之后就返回真了。