TryStrToFloat - Win/Linux

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Vbxler
Beiträge: 137
Registriert: Sa 25. Mai 2013, 07:43
OS, Lazarus, FPC: Win7_x64 (FPC:4.7.1)
CPU-Target: 32Bit

TryStrToFloat - Win/Linux

Beitrag von Vbxler »

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?

wp_xyz
Beiträge: 5482
Registriert: Fr 8. Apr 2011, 09:01

Re: TryStrToFloat - Win/Linux

Beitrag von wp_xyz »

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

Beitrag von Vbxler »

Danke für deine Hilfe!
Eine wahre HI (Human Intelligence)!

Antworten