Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
Delphi 2007 Professional
|
AW: StrToFloat -> Wahnsinn kurz bevorstehend!
5. Okt 2010, 10: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;
|
|
Zitat
|