VSoft.CommandLineParser icon indicating copy to clipboard operation
VSoft.CommandLineParser copied to clipboard

StrToFloat is locale specific

Open svip opened this issue 11 years ago • 0 comments

In VSoft.CommandLine.OptionDef.pas, under tkFloat: in TOptionDefinition<T>.Invoke, StrToFloat is called, but StrToFloat is locale specific.

This means that on most European machines, StrToFloat will assume ',' as a decimal separator and not '.'. That might not work well for scripts that use a program using this command line parser.

Now, I cannot find a simple method like Str (which for the reverse case always uses '.' as decimal separator, whereas FloatToStr would always use the locale), so you need to supply a TFormatSettings with DecimalSeparator set to '.' as its second argument.

svip avatar Jul 28 '14 10:07 svip