Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

AW: StrToFloat -> Wahnsinn kurz bevorstehend!

  Alt 4. Okt 2010, 18:04
Ich hätte hier noch eine Funktion, die die Zahlenstrings so aufbereitet,
dass man sie leicht einlesen kann:
Delphi-Quellcode:
function MakeValidFloatString(const s: string): string;
var
   i : Integer;
   dpchar : Char;
begin
   dpchar := #0;
   // Dezimaltrennzeichen suchen ausgehend von "rechts"
   for i := length(s) downto 1 do
   begin
      case s[i] of
         ',':
         begin
            dpchar := ',';
            Break;
         end;
         '.':
         begin
            dpchar := '.';
            Break;
         end;
      end;
   end;

   // Tausender Separator aus dem String entfernen, weil es
   // bei der Umwandlung von String zu Float stört
   // wenn ein Dezimaltrennzeichen gefunden wurde, dann ist
   // das Tausendertrennzeichen gerade das andere
   case dpchar of
      ',': Result := StringReplace(s,'.', '',[rfReplaceAll]);
      '.': Result := StringReplace(s,',', '',[rfReplaceAll]);
   else
      Result := s;
   end;

   // Dezimal Separator ersetzen
   if (dpchar <> #0) and (dpchar <> DecimalSeparator) then
      Result := StringReplace(Result, dpchar, DecimalSeparator, []);

   if (Trim(Result) = '') then
      Result := '0';
end;
Andreas
  Mit Zitat antworten Zitat