Einzelnen Beitrag anzeigen

hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#3

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

  Alt 29. Mai 2006, 10:20
Das Problem habe ich bei der Eingabeverarbeitung ständig.
Dafür habe ich dann eine kleine Routine, welche mir die Eingabe aus einem String aufbereitet.

Gruß Peter
Delphi-Quellcode:
Function ReadFloat(buf : String) : Extended;
var Konv : String;
    i,n : Integer;
Begin
 buf := Trim(buf);
 result:=0;
 n := length(Trim(buf));
 if n=0 then Exit;
 While (n > 0) and (buf[n]<>'.') and (buf[n]<>',') do dec(n);
 if n > 0 then buf[n] := DecimalSeparator;
 dec(n);
 While (n>0) do Begin
                 if (buf[n]='.') or (buf[n]=',') then buf[n]:=' ';
                 dec(n);
                end;

 konv:='';
 for i:=1 to length(buf) do
    if buf[i] in ['0'..'9',DecimalSeparator,'+','-'] then konv:=konv+buf[i];
 if length(Konv)=0 then Exit;
 try
  result:=strtofloat(Konv);
 except
  on E: EConvertError do result:=0;
 end;

end;
  Mit Zitat antworten Zitat