Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 13:29
Ja und? Eine published-Property mit Setter genügt dafür. Kleine Beispielklasse:
Delphi-Quellcode:
type
  TDings = class
  private
    FNachkommastellen: integer;
    FFormatStr: string;
    procedure SetNachkommastellen(const Value: integer);
    function GetTestValue: string;
  public
    constructor Create;
  published
    property Nachkommastellen: integer read FNachkommastellen write SetNachkommastellen;
    property TestValue: string read GetTestValue;
  end;

constructor TDings.Create;
begin
  inherited Create;
  Nachkommastellen := 2;
end;

procedure TDings.SetNachkommastellen(const Value: integer);
begin
  FNachkommastellen := Value;
  FFormatStr := Format('%%.%df', [FNachkommastellen]);
end;

function TDings.GetTestValue: string;
begin
  Result := Format(FFormatStr, [Pi]);
end;
Anwendung:
Delphi-Quellcode:
procedure TFormTest.Button1Click(Sender: TObject);
var
  Dings: TDings;
begin
  Dings := TDings.Create;
  try
    Dings.Nachkommastellen := 3;
    ShowMessage(Dings.TestValue);
    Dings.Nachkommastellen := 1;
    ShowMessage(Dings.TestValue);
    Dings.Nachkommastellen := 2;
    ShowMessage(Dings.TestValue);
    Dings.Nachkommastellen := 5;
    ShowMessage(Dings.TestValue);
  finally
    Dings.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat