Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#23

AW: StrToFloat -> Wahnsinn kurz bevorstehend!

  Alt 5. Okt 2010, 09:52
Da ältere Delphi-Versionen keine überladende Funktion für StrToFloat mit FormatSettings kennen, gibt es ja noch eine alte Variante mit Überschreiben des SysUtils.DecimalSeparator.
Delphi-Quellcode:
var
  r : Real;
  s : String;
  OldDecimalSeparator : Char;
begin
  // Wenn Separatoren lokalen Settings entsprechen
  s := '12.345,67';
  s := StringReplace(s, SysUtils.ThousandSeparator, '', [rfReplaceAll]);
  r := StrToFloat(s);
  ShowMessage(Format('%.3f',[r]));

  // Wenn bekannte, aber evtl. von lokalen Einst. abweichende Separatoren
  s := '12,345.67';
  OldDecimalSeparator := SysUtils.DecimalSeparator;
  SysUtils.DecimalSeparator := '.';
  s := StringReplace(s, ',', '', [rfReplaceAll]);
  r := StrToFloat(s);
  SysUtils.DecimalSeparator := OldDecimalSeparator;
  ShowMessage(Format('%.3f',[r]));
end;
  Mit Zitat antworten Zitat