Einzelnen Beitrag anzeigen

marabu

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

Re: "." oder "," - Wie herausfinden?

  Alt 29. Mai 2006, 10:43
Hallo,

ich hätte da noch eine universell verwendbare Funktion anzubieten:

Delphi-Quellcode:
function Translate(const s, sOld, sNew: String): String;
var
  i, iPos, iLen: integer;
begin
  SetLength(Result, Length(s));
  iLen := 0;
  for i := 1 to Length(s) do
  begin
    iPos := Pos(s[i], sOld);
    if iPos > Length(sNew) then
      Continue;
    Inc(iLen);
    if iPos > 0
      then Result[iLen] := sNew[iPos]
      else Result[iLen] := s[i];
  end;
  SetLength(Result, iLen);
end;
Testen kann man so:

Delphi-Quellcode:
var
  ds, s: String;
  e: Extended;
begin
  ds := StringOfChar(DecimalSeparator, 2);
  s := '';
  while InputQuery('Check', 'Float', s) do
    if TryStrToFloat(Translate(s, '.,', ds), e)
      then ShowMessage(Format('%g', [e]))
      else ShowMessage('bad value');
end;
Grüße vom marabu
  Mit Zitat antworten Zitat