Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: StrToFloat klappt nur mit ','

  Alt 13. Jul 2007, 19:30
Zitat von mkinzler:
oder verwende, so vorhanden die überladene Version mit übergabe des Formats.
Hi,
das wäre die sauberste Lösung. Beim Überschreiben des Wertes in der globalen Variable bekommst Du immer dann ein Problem, wenn jmd. anderes den selben Gedanken hatte (und erfahrungsgemäß passiert sowas früher oder später mal). Deshalb einfach eine lokale FormatSettings Variable nehmen und die Eigenschaft ändern:

Delphi-Quellcode:
var formatSettings: TFormatSettings;
begin
  GetLocaleFormatSettings(GetUserDefaultLCID, formatSettings);
  formatSettings.DecimalSeparator := '.';

  f := StrToFloat(s, formatSettings);
end;
Dabei wird hier einfach die lokale Einstellung des Benutzers verwendet, der Dezimalseperator durch einen Punkt ersetzt und dann eben die überladene StrToFloat-Funktion aufgerufen. Analog sieht es aus, wenn Du ein Float in einen String konvertieren willst, wobei dann im String das entsprechende Dezimaltrennzeichen verwendet wird.

Gruß Der Unwissende
  Mit Zitat antworten Zitat