Einzelnen Beitrag anzeigen

Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
563 Beiträge
 
Delphi XE6 Enterprise
 
#4

AW: double Variable runden

  Alt 27. Dez 2019, 07:40
Nächste frage, wie kann ich eine double Variable auf 2 nachkomma stellen runden?
Ich finde iwie keine funktionierende Lösung
Kurz und knapp:
Delphi-Quellcode:
function rnd(x: double): double;
begin
  if x >= 0 then
    result := int(x * 100.0 + 0.5) / 100.0
  else
    result := int(x * 100.0 - 0.5) / 100.0
end;
Das kann man dann nach Gusto variieren, etwa Runden auf 0,05 (z.B. für Geldbeträge in Ländern, die 1ct und 2ct Münzen abgeschafft haben):
Delphi-Quellcode:
function rnd05(x: double): double;
begin
  if x >= 0 then
    result := int(x * 20.0 + 0.5) / 20.0
  else
    result := int(x * 20.0 - 0.5) / 20.0
end;
Funktioniert mit jeder Delphi-Version.
  Mit Zitat antworten Zitat