Kann mir jemand einen Tip geben, wieso StrToFloat(‚0.00‘)
nicht geht,
Die Funktion „StrToFloat“ ist Systemsteuerung-Ländereinstellungen-sensitiv (unter Win XP heißt das jetzt „Regions- und Sprachoptionen“). Bei Dir steht das Land auf Deutschland, weshalb das Dezimalseparatorzeichen das Komma ist und „StrToFloat(‚0,00‘)“ funktioniert. Stellst Du das Land z. B. auf USA um, dann funktioniert „StrToFloat(‚0,00‘)“ nicht mehr, aber dafür „StrToFloat(‚0.00‘)“, weil dann der Punkt das Dezimalseparatorzeichen ist.
Du kannst jedoch die Systemsteuerung-Ländereinstellungen-Sensitivität aufheben, weil Du für Deine Delphi-Anwendung das Dezimalseparatorzeichen umdefinieren kannst. Dazu genügt die Anweisung „DecimalSeparator := ‚.‘“ oder „DecimalSeparator := ‚,‘“, je nachdem, was Dir lieber ist. „DecimalSeparator“ ist eine in der Unit Windows deklarierte Variable, die beim Start der Anwendung immer mit dem Zeichen initialisiert wird, das in den Ländereinstellungen spezifiziert ist. Dasselbe gilt auch für das Thousandseparator-Zeichen, die Decimaldigits-Zahl, und die LeadingZeroOn-Option.
Siehe dazu auch Online-Hilfe, Thema „System Formats Number Settings“ (ich hab’n US-Delphi und weiß daher nicht, wie das Thema auf deutsch heißt).
MfG
Martin