oder wenn du kaufmännisch runden willst:
Delphi-Quellcode:
function Runden(wert: extended; stellen: integer = 0):extended;
.
.
{-----------------------------------------------------------------------------
Procedure: Runden
Date: 08-Okt-2004
Arguments: wert: extended; stellen: integer = 0
Result: extended
-----------------------------------------------------------------------------}
function Runden(wert: extended; stellen: integer = 0):extended;
var integerWert: integer;
format:
string;
i: integer;
temp:
string;
begin
result := 0 ;
try
wert:=wert*power(10,stellen);
if wert > 0
then
begin
wert:=wert+0.51;
SetRoundMode(rmDown);
// Art und Weise wie gerundet wird.
end
else if wert < 0
then
begin
wert:=wert-0.51;
SetRoundMode(rmUp);
// Art und Weise wie gerundet wird.
end
else if wert = 0
then
begin
SetRoundMode(rmNearest);
//Nochmal die Art und Weise.
end;
integerwert:=round(wert);
wert:=integerwert/power(10,stellen);
if stellen = 0
then
Format:='
#0'
else
begin
for i:=1
to stellen
do
begin
Format:=Format+'
0';
end;
Format:='
#0.'+Format;
end;
temp:=FormatFloat(Format, wert);
Result:=StrToFloat(temp);
except
on E:
Exception do
begin
fehlermeldung('
- Runden - Wert: '
+ floattostr(wert)
+ '
, Stellen: '
+ floattostr(stellen)
+ '
- '
+ e.
Message);
end;
end;
end;
habe ich hier im forum gefunden, weiß aber leider nicht mehr, wer das gepostet hat.
greetz