Hallo zusammen,
in der Hilfe zu TryStrToFloat steht:
"TryStrToFloat tries to convert the string S to a floating point value,
and stores the result in Value. It returns True if the operation was successful,
and False if it failed.
This operation takes into account the system settings for floating point representations."
Laut letztem Satz sollten die Systemeinstellungen für die
Gleitkommadarstellungen verwendet werden.
Das funktioniert unter Windows, aber nicht unter Linux.
Daher muss ich die Gleitkommadarstellungen explizit so angeben:
[code]
lcFormSet := FormatSettings;
lcFormSet.DecimalSeparator := ',';
if TryStrToFloat(sZelleWert, siZelleWert, lcFormSet) then
begin
change_Cellstring_to_float := siZelleWert;
sCellstring := sZelleWert;
end;
[/code]
In meinem Linux ist die Sprache und Tastatur auf Deutsch gestellt.
Gibt es da noch weitere Möglichkeit, um unter Linux um Gleitkommadarstellung
anzupassen, oder gebt ihr das auch explizit an?
TryStrToFloat - Win/Linux
Re: TryStrToFloat - Win/Linux
Unter Linux musst du die Unit clocale in "uses" einbinden, damit die aktuellen Landeseinstellungen berücksichtigt werden.
-
Vbxler
- Beiträge: 137
- Registriert: Sa 25. Mai 2013, 07:43
- OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
- CPU-Target: 32Bit
Re: TryStrToFloat - Win/Linux
Danke für deine Hilfe!
Eine wahre HI (Human Intelligence)!
Eine wahre HI (Human Intelligence)!