Hallo,
nachfolgende Funktion wird fehlerhaft ausgeführt! Mit x1 := 2.51, bzw 2.55 liefert x den Wert 250 bzw. 254 zurück.
var x1,x2 : double;
x : int64;
begin
try
x1 := 2.51; // bzw. x1 := 2.55;
x2 := (x1 * 100);
x := Trunc(x2);
MessageBox(0,Pchar('x: ' + IntToStr(x)),Pchar('Ausgabe'),0);
{ x2 := (x1 * 1000);
x := Trunc(x2 / 10); ==> funktioniert!}
except
MessageBox(0,PCHAR('Fehler'),Pchar('Fehler'),0);
end;
end;
Diese Konstellation wird in meinem Programm leider seeehr oft verwendet!
Kann mir jemand eine einfache Abhilfe nennen???
nachfolgende Funktion wird fehlerhaft ausgeführt! Mit x1 := 2.51, bzw 2.55 liefert x den Wert 250 bzw. 254 zurück.
var x1,x2 : double;
x : int64;
begin
try
x1 := 2.51; // bzw. x1 := 2.55;
x2 := (x1 * 100);
x := Trunc(x2);
MessageBox(0,Pchar('x: ' + IntToStr(x)),Pchar('Ausgabe'),0);
{ x2 := (x1 * 1000);
x := Trunc(x2 / 10); ==> funktioniert!}
except
MessageBox(0,PCHAR('Fehler'),Pchar('Fehler'),0);
end;
end;
Diese Konstellation wird in meinem Programm leider seeehr oft verwendet!
Kann mir jemand eine einfache Abhilfe nennen???
Comment