tach allerseits,
jeder von euch kennt die funktione trunc, nehme ich mal an. sie schneidet einem flieskommawert die nachkommastellen ab und gibt einen integerwert zurück (die zahlen vor dem komma).
ich habe beim programmieren festgestellt, dass dies nicht immer so korrekt geschieht.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var h,z,anfang:double;
begin
z:=9*(1/24);
anfang:=7*(1/24);
h:=(z-anfang) / (1/24);
showmessage('fliesskomma: ' + floattostr(h) + chr(13) + 'trunc: ' + inttostr(trunc(h)));
end;
die message sieht bei mir so aus:
"fliesskomma: 2
trunc:1
"
seit wann ist trunc(2) = 1?
achja, wenn ich die rechnung mit numerischen näherungswerten (0.375 für z und 0.291666666 für anfang) durchführe gehts.
mfg