Hallo,
1) Wie kann man in Delphi abstellen, dass bei 2.5 (-> 2) abgerunden wird und bei 3.5 (-> 4) aufgerundet wird?
Bisher mache ich es über eine extra Funktion:
Delphi-Quellcode:
function Round(e: Extended): Extended;
begin
Result := Trunc(e);
if Frac(e) >= 0.5 then
Result := Result + 1;
end;
bzw.
math.SimpleRoundTo(Wert, 0)
kann man den RoundMode nicht auf den von TurboPascal umstellen?
Das 2. Problem tritt dann bei Tabellen auf,
ich habe eine TTable mit einem 5/1 BCD Feld.
Diesem weise ich dem Wert 2.25 zu. Da das Feld nur eine Nachkommastelle hat wird gerunden. Auch hier wird auf 2.2 abgerundet, ich hätte aber gerne 2.3. Das Delphi Format ('%5.1f') liefert wie gewünscht auch den Wert 2.3.
Natürlich könnte ich beim zuweisen ebenfalls selbst runden, dafür sind mit aber zu viele Änderungen nötigt. Wie kann ich dem Delphi ROUND und dem interen ROUND einer TTABLE also immer sagen, dass bei 0.5 aufgerundet wird?