March 07, 2016 Determine decimal separator (comma vs point) | ||||
---|---|---|---|---|
| ||||
Hi, I execute an external application and get some decimal numbers: auto p = execute(["curl", "-o", "/dev/null", "-s", "-w", "%{time_namelookup}:%{time_appconnect}:%{time_redirect}:%{time_starttransfer}:%{time_pretransfer}:%{time_connect}:%{time_total}", url]); On my windows system, the decimal separator is "," therefore I want to replace the "," with "." to avoid exceptions while converting the value to!double. I thought following coding should return "," on my OS because it is set in the region settings but "." is returned: import core.stdc.locale; auto lConv = localeconv(); char decSeparator = *lConv.decimal_point; How can I determine the correct decimal separator? Kind regards André |
March 07, 2016 Re: Determine decimal separator (comma vs point) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andre | On Monday, 7 March 2016 at 12:29:39 UTC, Andre wrote: > Hi, > > I execute an external application and get some decimal numbers: > > auto p = execute(["curl", "-o", "/dev/null", "-s", "-w", > "%{time_namelookup}:%{time_appconnect}:%{time_redirect}:%{time_starttransfer}:%{time_pretransfer}:%{time_connect}:%{time_total}", > url]); > > On my windows system, the decimal separator is "," therefore I want > to replace the "," with "." to avoid exceptions while converting the value to!double. > > I thought following coding should return "," on my OS because it is set in the region settings but "." is returned: > > import core.stdc.locale; > > auto lConv = localeconv(); > char decSeparator = *lConv.decimal_point; > > How can I determine the correct decimal separator? > > Kind regards > André I just found the answer: lconv* lc; setlocale(LC_NUMERIC, ""); lc = localeconv(); writeln(to!string(lc.decimal_point)); |
Copyright © 1999-2021 by the D Language Foundation