Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Zahlen im String: Formatierung

  Alt 18. Jan 2007, 07:48
Guten Morgen,

wenn es sich um Ganzzahlen ohne Vorzeichen mit mehr als 20 Stellen handelt, dann würde ich es mit einer eigenen Funktion erledigen:

Delphi-Quellcode:
function FormatNumber(const s: String; const tsep: Char): String;
var
  i, iPos, nSep, nHead: Integer;
begin
  if s = 'then Result := 'else
  begin
    nSep := Pred(Length(s)) div 3;
    SetLength(Result, Length(s) + nSep);
    nHead := Succ(Pred(Length(s)) mod 3);
    if nHead > 0 then
      Move(s[1], Result[1], nHead);
    for i := 0 to Pred(nSep) do
    begin
      iPos := Succ(nHead) + i shl 2;
      Result[iPos] := '.';
      Move(s[Succ(nHead) + i * 3], Result[Succ(iPos)], 3);
    end;
  end;
end;
Die Funktion erwartet eine normalisierte Darstellung. Vorzeichen und führende Nullen können leicht noch berücksichtigt werden.

Grüße vom marabu
  Mit Zitat antworten Zitat