![]() |
Integer mit tausender trennzeichen ausgeben
Hallo,
ich möchte eine integer auf einem label ausgeben aber mit tausender trennzeichen. Also so: 4.356.567 Das soll wohl mit Format gehen, aber ich bekomme das einfach nicht hin, wäre nett wenn jemand helfen könnte :) |
Re: Integer mit tausender trennzeichen ausgeben
![]() OK, das "Tausendertrennzeichen" ist ein zu langes Wort, für die DP-Suche, aber ![]() Sowas nutze ich seit vielen Jahren:
Delphi-Quellcode:
S := Format('%.0n', [MyInteger / 1]);
|
Re: Integer mit tausender trennzeichen ausgeben
vielen dank! Funktioniert prima :)
|
Re: Integer mit tausender trennzeichen ausgeben
@himitsu:
Deine Suchwortkombination bringt aber auch nix :( |
Re: Integer mit tausender trennzeichen ausgeben
Hab auch noch was etwas komplizierteres, aber funzt :)
Delphi-Quellcode:
function PointDelimiter(Argument: string; TrennChar: char): string;
var n,i: integer; begin Result := Argument; n := Length(Result); if n > 3 then begin i := 0; While n > 0 do begin inc(i); if (i >= 3) and (n > 1) then begin Insert(TrennChar,Result,n); i := 0; end; dec(n); end; end; end; function IntToStrWithDots(Int: Int64): string; begin Str(Int, Result); Result := PointDelimiter(Result, '.'); end; //Anwendung: IntToStrWithDots(1000000000) //gibt '1.000.000.000' aus |
Re: Integer mit tausender trennzeichen ausgeben
Wenn die entsprechende Konstante gesetzt ist ( thousandseparator), sollte es auch mit einem simplen
IntToStr() gehen |
Re: Integer mit tausender trennzeichen ausgeben
Liste der Anhänge anzeigen (Anzahl: 1)
IntToStr aka CvtInt gibt niemals Tausendertrennzeichen zurück, da dieses in der Funktion nicht eingebaut ist.
Zitat:
|
Re: Integer mit tausender trennzeichen ausgeben
FormatFloat wäre auch noch ein Kandidat. Der Formatierungsstring entsprich dem, der bei Tabellenfeldern verwendet wird. Hier wäre das
Delphi-Quellcode:
GanzZahlMitTausenderTrennzeichen := FormatFloat('0,', GanzZahl);
|
AW: Integer mit tausender trennzeichen ausgeben
Delphi-Quellcode:
function NewIntToStr(aValue: int64; Dots: Char=#0): String;
var ii : integer; begin Result := IntToStr(aValue); if Dots < ' ' then exit; ii := length(Result) - 2; while ii > 1 do begin Insert(Dots,Result,ii); dec(ii,3); end; end; |
AW: Integer mit tausender trennzeichen ausgeben
Da NewIntToStr doch vorallem für die Tausenderpunkte da ist, sollte dann Dots nicht besser standardmäßig mit ThousandSeparator vorbelegt sein?
Und warum "New"? Die Funktion ist doch nicht "neu", sondern "anders" ... halt mit "punkten". PS:
Delphi-Quellcode:
:stupid:
NewIntToStr(-123456798, '.')
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz