У меня запятая используется в качестве десятичного разделителя в моих региональных настройках Windows (на португальском языке), и все разрабатываемые мной программы используют запятую при форматировании строк или atof
.
Однако эта конкретная программачто попало мне в руки настаивает на использовании точки в качестве десятичного разделителя, независимо от моих региональных настроек.
Я не вызываю setlocale
где-либо в программе или любой другой функции смены языка AFAIK.Фактически, я поместил эти строки кода в самом начале функции InitInstance()
:
double var = atof("4,87");
TRACE("%f", fDecimal);
Это дает 4.000000
в этой программе и 4,870000
во всех остальных.
Я полагаю, что в свойствах проекта должны быть некоторые неуместные настройки, но я не знаю, что это такое.Кто-нибудь может помочь?