Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 

Re: Alle nicht numerischen Zeichen aus String entfernen

  Alt 11. Sep 2007, 19:44
Hallo,

falls es nur darum geht aus einem numerischen DisplayString einen EditString zu machen, dann reduziert sich das Problem ja auf das Entfernen des Kolonnentrennzeichen (Tausenderpunkt):

Delphi-Quellcode:
function Without(const s: string; charSet: TSysCharSet): string;
var
  i, iDel: Integer;
begin
  Result := s;
  iDel := 0;
  for i := 1 to Length(s) do
    if not (s[i] in charSet)
      then Result[i - iDel] := s[i]
      else Inc(iDel);
  SetLength(Result, Length(s) - iDel);
end;

// Without('1.234.567,89', [ThousandSeparator])
Nach Entfernung der Lesehilfe lässt sich das Ergebnis mittels StrToFloat() wieder für Berechnungen verwenden, insofern ist der Verbleib des Dezimaltrenners nicht ganz ungeschickt.

Grüße vom marabu
  Mit Zitat antworten Zitat