Have an application distributed via iso, works fine. Installing from deb in a user's system generates an error when run ["100.00" is an invalid float.]. Suspect user's locale uses "," (comma) as the decimal separator, application is compiled in English, decimal separator "." (full stop). Googling for how to fix this points towards GetLocaleFormatSettings. Supposed to be in sysutils, can't find it, suspect not implemented in linux?
Can someone point me in the right direction, I can parse the output of the terminal utility locale to find the user's locale, but how then do I tell my application what to use? Not yet looking to do full translations of the application, that is on the to-do list for the future.
EDIT - I can do this externally, i.e. read the user's locale and set LC_NUMERIC="en_GB.UTF-8" and then reset it on close, but would prefer the application to use the existing setting for LC_NUMERIC. Would this mean changing all the code that does formatfloat(#,##0,somenumber) to an if statement if x then formatfloat(#,##0,somenumber) else formatfloat(#.##0,somenumber) ?