Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Edit Kommastellen ? (https://www.delphipraxis.net/81577-edit-kommastellen.html)

Vader 29. Nov 2006 17:12


Edit Kommastellen ?
 
hallo

ich habe eine editkomponente auf meiner form mit der ich ein ergebniss einer rechnung ausgebe,
jetzt zeigt mir das edit eine zahl mit sehr vielen kommastellen an,ich möchte aber nur 2 kommastellen haben
wie geht das ?
mfg vader

RavenIV 29. Nov 2006 17:20

Re: Edit Kommastellen ?
 
das TEdit stellt einen String dar.
Irgendwo hast Du aus der Float-Zahl einen String gemacht (z.B. mit FloatToStr).
Hier musst Du angreifen und eine andere Funktion zum umwandeln verwenden.
z.B. FloatToStrF oder FormatFloat oder FloatToText oder Format.

Such Dir was aus, stöber ein wenig in der Delphi-Hilfe und werde glücklich...

Vader 29. Nov 2006 17:33

Re: Edit Kommastellen ?
 
hallo

ich will das edit136 nur 2 kommastellen ausgibt

Delphi-Quellcode:
procedure TForm1.Button9Click(Sender: TObject);
 var ma,mb,mc,md: Real;
begin

 ma := strtofloat (edit35.Text);
 mb := strtofloat (edit38.Text);

 mc := ma+mb;
 md := mc/13.7603;

 edit39.Text := floattostr(mc)+ '  ATS';
 edit136.Text := floattostr(md)+ ' EURO';


end;
mfg vader

Hansa 29. Nov 2006 18:50

Re: Edit Kommastellen ?
 
Und warum machst du dann nicht einfach, was Raven gesagt hat ? FloatToStrF dürfte hier das einfachste sein. Trothdem -> in Hilfe nachlesen !

Vader 29. Nov 2006 19:30

Re: Edit Kommastellen ?
 
ich krieg das auch mit hilfe nicht auf die reihe

Delphi-Quellcode:
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string;
muß ich diese function integrieren oder brauch ich nur die parameter eingeben ?

Delphi-Quellcode:
edit136.Text := floattostrf(md,2,...?????)+ ' EURO';
mfg vader

delphis spassbremse 29. Nov 2006 19:45

Re: Edit Kommastellen ?
 
ich hab dir grad mal ne function geschrieben

Delphi-Quellcode:
function zweistellen(zahl: String) : String;
var zpos, I: Integer; gesamt: String;
begin
  zpos := pos(',', zahl);
  if zpos <> 0 then
  begin
      for I := 1 to zpos - 1 do
      begin
      gesamt := gesamt + zahl[I];
      end;
  gesamt := gesamt + ',' + zahl[zpos + 1] + zahl[zpos + 2];
  result := gesamt;
  end else
  begin
    result := Zahl;
  end;
end;
Aufgerufen wird die Funktion durch: (z.B.)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text := zweistellen('45320,94333');
end;

Khabarakh 29. Nov 2006 19:49

Re: Edit Kommastellen ?
 
Und wo soll ein Vorteil gegenüber StrToFloatF sein? Ich sehe nur haufenweise Bugs und Unschönheiten.

@Vader: Du musst die Funktion nicht deklarieren, sondern nur die entsprechende Unit einbinden.

Hansa 29. Nov 2006 19:53

Re: Edit Kommastellen ?
 
Jep, die obige Funktion ist völlig überflüssig.

Delphi-Quellcode:
    Cells [4,Row] := FloatToStrF (preis,ffFixed,8,2);

Vader 2. Dez 2006 13:39

Re: Edit Kommastellen ?
 
hallo,

danke für die tipps, besonders an hansa das ist das kürzeste und beste !
mfg vadaer


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz