Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stringformatierung Intergerzahlen formatieren 2.000 (https://www.delphipraxis.net/71432-stringformatierung-intergerzahlen-formatieren-2-000-a.html)

Karstadt 15. Jun 2006 07:20


Stringformatierung Intergerzahlen formatieren 2.000
 
Hallo. Möchte eine INTEGERZAHL so formatieren 2.000.

Um eine Floatzahl zu formatieren benutze ich diese Funktion

Result:= Format('%n', [Zahl]);

hier bekomme ich aber dieses Ergebnis raus 2.000,00 (die komma und die zahlen dahinter brauche ich nicht, die kann ich mit DELETE lösche (da es ein String ist))


oder gibt es eine bessere Möglichkeit

mbamler 15. Jun 2006 07:30

Re: Stringformatierung Intergerzahlen formatieren 2.000
 
Zitat:

Zitat von Karstadt
Hallo. Möchte eine INTEGERZAHL so formatieren 2.000.

Um eine Floatzahl zu formatieren benutze ich diese Funktion

Result:= Format('%n', [Zahl]);

hier bekomme ich aber dieses Ergebnis raus 2.000,00 (die komma und die zahlen dahinter brauche ich nicht, die kann ich mit DELETE lösche (da es ein String ist))


oder gibt es eine bessere Möglichkeit


Format('%4.0f', [Zahl]);

G.
Matthias

marabu 15. Jun 2006 09:01

Re: Stringformatierung Intergerzahlen formatieren 2.000
 
Vielleicht besser so:

Delphi-Quellcode:
function FloatToDisplayStr(e: Extended): String;
begin
  Result := Format('%.0n', [e]);
end;
Grüße vom marabu

Thanatos81 15. Jun 2006 09:14

Re: Stringformatierung Intergerzahlen formatieren 2.000
 
Eine andere Möglichkeit, die mir lieber ist da ich sie für überschaubarer halte, ist formatFloat:
Delphi-Quellcode:
var
  s : string;
  i : Integer;
begin
  i := 2000;
  s := formatFloat('#,##0', i);
end;
Der Format-String kennt setzt sich dabei aus folgenden Zeichen zusammen:

#: Stelle nur anzeigen, falls ein Wert vorhanden ist
0: Falls an der Stelle kein Wert steht, eine 0 schreiben
.: Dezimaltrenzeichen
,: Tausendertrennzeichen.


'#,##0.00' würde also z.B. eine Zahl so ausgeben, dass auf das Tausendertrennzeichen angezeigt wird und 2 Nachkommstellen angezeigt werden, auch wenn es mal keine oder nur 1 Nachkommstelle gibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 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