![]() |
double Variable runden
Nächste frage, wie kann ich eine double Variable auf 2 nachkomma stellen runden?
Ich finde iwie keine funktionierende Lösung Mfg |
AW: double Variable runden
wie wäre es mit
Delphi-Quellcode:
oder
Roundto
Delphi-Quellcode:
?
SimpleRoundto
Oder Du machst es selbst
Delphi-Quellcode:
wobei wert den Typ Currency haben sollte.
wert:=(round(x*100)/100)
Gruß K-H |
AW: double Variable runden
Zitat:
Das normale round macht ein bankers-rounding, was mit unserem üblichen kaufmännischen Runden nichts zu tun hat. Daher bitte auch RoundTo und SimpleRound ansehen, wie K-H schon schrieb. |
AW: double Variable runden
Zitat:
Delphi-Quellcode:
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):
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;
Delphi-Quellcode:
Funktioniert mit jeder Delphi-Version.
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; |
AW: double Variable runden
Die Frage ist auch ob du wirklich den Wert runden willst, oder ob du den Wert in einem Label o.ä. nur mit 2 Nachkommastellen ANZEIGEN willst?
Dafür gäbe es dann z.B. die Funktionen FloatToStrF/CurrToStrF, Format oder FormatFloat. Das wäre nämlich ein ganzes Stück einfacher als den eigentlichen Wert zu runden. |
AW: double Variable runden
Hallo,
und zu guter Letzt gibt es auch noch arithmetisches (mathematisches) Runden und kaufmännisches Runden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz