Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Integer mit tausender trennzeichen ausgeben (https://www.delphipraxis.net/150464-integer-mit-tausender-trennzeichen-ausgeben.html)

BBoy 17. Apr 2010 18:31


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 :)

himitsu 17. Apr 2010 18:38

Re: Integer mit tausender trennzeichen ausgeben
 
Hier im Forum suchenInteger Tausendertrennzeichen

OK, das "Tausendertrennzeichen" ist ein zu langes Wort, für die DP-Suche,
aber Delphi-Referenz durchsuchenInteger Tausendertrennzeichen (rechts oben auf "DelphiPRAXiS" umschalten)


Sowas nutze ich seit vielen Jahren:
Delphi-Quellcode:
S := Format('%.0n', [MyInteger / 1]);

BBoy 17. Apr 2010 19:06

Re: Integer mit tausender trennzeichen ausgeben
 
vielen dank! Funktioniert prima :)

Wolfgang Mix 17. Apr 2010 19:09

Re: Integer mit tausender trennzeichen ausgeben
 
@himitsu:
Deine Suchwortkombination bringt aber auch nix :(

lbccaleb 17. Apr 2010 20:23

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

mkinzler 17. Apr 2010 20:28

Re: Integer mit tausender trennzeichen ausgeben
 
Wenn die entsprechende Konstante gesetzt ist ( thousandseparator), sollte es auch mit einem simplen
IntToStr() gehen

himitsu 17. Apr 2010 20:41

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:

Zitat von Wolfgang Mix
@himitsu:
Deine Suchwortkombination bringt aber auch nix :(


alzaimar 18. Apr 2010 08:51

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);

derMischka 26. Mai 2015 12:53

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;

himitsu 26. Mai 2015 13:01

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:
NewIntToStr(-123456798, '.')
:stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr.
Seite 1 von 3  1 23      

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