Einzelnen Beitrag anzeigen

corgan

Registriert seit: 16. Okt 2003
Ort: Hannover
44 Beiträge
 
Delphi 7 Professional
 
#6

Re: Zahl soll nur zwei kommastellen haben

  Alt 21. Jan 2005, 11:27
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
  Mit Zitat antworten Zitat