Autor Beitrag
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mi 16.10.02 10:29 
Mit der folgenden Funktion können Gleitkommawerte auf eine beliebige Stellenzahl nach dem Komma, kaufmännisch gerundet werden.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
function Runden (const Betrag: extended; const Stellen: integer): extended;
var
  Faktor, 
  Wert: extended;
begin
  Faktor := IntPower (10, Stellen);

  if Betrag > 0 then
    Wert := int (Betrag * Faktor + 0.5)
  else
    Wert := int (Betrag * Faktor - 0.5);

  Wert := Wert / Faktor;
  Result   := Wert;
end;

Einige Beispiele:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
x := Runden (19.49492);
// x ergibt 19.49

x := Runden (19.49493);
// x ergibt 19.495

x := Runden (19.49502)
// x ergibt 19.5


Nicht vergessen: Die Funktion benötigt die Unit Math.

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...

Für diesen Beitrag haben gedankt: maxet