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