Ich habe das Komma als Dezimaltrennzeichen in meinen Windows-Regionaleinstellungen (portugiesische Sprache), und alle Programme, die ich entwickle, verwenden das Komma bei der Formatierung von Zeichenfolgen oder bei der atof
.
Dieses spezielle Programm, das mir in die Hände fiel, besteht jedoch darauf, den Punkt als Dezimaltrennzeichen zu verwenden, unabhängig von meinen regionalen Einstellungen.
Ich rufe nicht an setlocale
irgendwo im Programm oder einer anderen Funktion zur Sprachumschaltung AFAIK. Tatsächlich habe ich diese Codezeilen ganz am Anfang des Programms InitInstance()
Funktion:
double var = atof("4,87");
TRACE("%f", fDecimal);
Daraus ergibt sich 4.000000
in diesem Programm und 4,870000
in jedem anderen.
Ich denke, es muss eine falsche Einstellung in den Projekteigenschaften geben, aber ich weiß nicht, welche. Kann jemand helfen?