Moin Harmonie,
anderer Vorschlag:
Delphi-Quellcode:
function OnlyFloatChars(const AValue : string) : string;
var
i : integer;
iPos : integer;
begin
// Das Ergebnis kann höchstens so lang sein, wie
// der übergebene Wert
SetLength(Result,length(AValue));
iPos := 0;
for i := 1 to length(AValue) do begin
// Ist es ein gültiges Zeichen in einem Floatstring?
if AValue[i] in ['0'..'9',DecimalSeparator,'-','+','e','E'] then begin
// Auf nächste Ergebnisstelle setzen
inc(iPos);
// und eintragen
Result[iPos] := AValue[i];
end;
end;
// Länge des Ergebnisses auf tatsächlichen Wert korrigieren
SetLength(Result,iPos);
end;
Die Funktion setzt voraus, dass es sich bei dem übergebenen Wert um einen String handelt der, bis auf die ungültigen Zeichen, ein Float-Zahl darstellt.