Thema: Delphi Max. 3 Nachkommastellen

Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Max. 3 Nachkommastellen

  Alt 15. Jun 2009, 09:47
Hab mir auch mal eine Lösung überlegt, könnt ja mal raufschauen:

Delphi-Quellcode:
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.
MfG
BAMatze
2. Account Sero
  Mit Zitat antworten Zitat