unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math;
type
TForm1 =
class(TForm)
Label1: TLabel;
Label2: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
procedure Ausgabevorbereitung(
var n: integer;dfWert: double);
function Potenz(n: integer): integer;
var
Form1: TForm1;
dWert: double;
iKommastellen: integer;
implementation
{$R *.dfm}
function Potenz(n: integer): integer;
begin
if n = 1
then result := 10
else
begin
n := n-1;
result := 10 * Potenz(n);
end;
end;
procedure Ausgabevorbereitung(
var n: integer; dfWert: double);
var dTemp: double;
begin
dTemp := round(dfWert);
if (dTemp = (dfWert * 10))
or (n = iKommastellen)
then
begin
Form1.Label1.Caption := floattostr(dTemp/Potenz(n));
end
else
begin
n := n+1;
Ausgabevorbereitung(n,dfWert * 10);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var Index: integer;
begin
dWert := 1.2345678;
iKommastellen := 3;
Index := 0;
Ausgabevorbereitung(
Index,dWert);
end;
end.