this slowpoke moves

Round point Numbers

function Round(var curr: Double; decpos: Integer): Double;
var
        n: Integer; // Laufvariable
        temp: Double;
        (*
          curr = Grundwert
          decpos = zu rundende Stellen
        *)
begin
        temp := 1;
        case decpos of
                0: temp := 1;
                1: temp := 10;
        else
        for n := 1 to decpos do
                temp := temp * 10;
        end;
        Result := Int((curr * temp) + 0.5) / temp;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
        // Memotextfelder initialisieren
        Memo1.Text := '275,569875';  // Testwert
        Memo2.Clear;                 // Leeren
        Memo3.Text := '2';           // Stellen nach dem Komma
end;
Beispiel :
procedure TForm1.Button1Click(Sender: TObject);
var
        result: Double;  // Gerundetes Ergebnis
        place: Integer;  // Nachkommastellen
begin
        // Zu rundende Stellen aus Memo3 nach Integer konvertiert
        place := StrToInt(Memo3.Text);
        // Berechnungswert aus Memo1 nach Fließkommazahl konvertiert
        result := StrToFloat(Memo1.Text);
        // Funktionsaufruf zur Ergebnisermittlung
        result := Round(result, place);
        // Ausgabe des gerundeten Berechnungswertes.
        Memo2.Text := FloatToStr(result);
end;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate