procedure TForm1.BitBtn1Click(Sender: TObject);
begin
StringGrid1.cells[1,1]:='7.00';
StringGrid1.cells[2,1]:='134.21';
StringGrid1.cells[3,1]:='-127.21';
StringGrid1.cells[4,1]:=(floattostr(strtofloat( StringGrid1.cells[1,1])- strtofloat( StringGrid1.cells[2,1]) -strtofloat( StringGrid1.cells[3,1])))
end;
요거 실행하면 결과가 0 이 안나오고 -6.93889390390723E-18 이런값이 나옵니다.
델파이 5,7로 해도 오류결과가 나오네요..
무슨 이유일까요?
오류가 아닙니다.
-6.9 * 10의 -18승이면 거의 0에 가까운 수이네요...
컴퓨터상의 실수표현이나 실수연산은 어떤한 컴파일러든지 오차가 없을수가 없습니다.
FloatToStr에서 사용되는 extended형은 유효자리수가 19~20이네요...
^^ 항상 즐코하세요...