Kann kein "Komma" eingeben
-
Hallo,
ich habe mir ein Programm mit double-Zahlen erstellt. Wie kann ich es machen, dass das Programm statt zB. "12.20" 12,20 akzeptiert.
Formatiert habe ich folgendermassen:
double dZahl1 = 0.0;
CString m_strZah1 = T("");dZahl1=atof(m_strZah1);
m_strZah1.Format("%.2f", dZahl1);Was muss ich noch machen?
Danke für Euere Hilfe
und viele Grüsse
Franz
-
ersetz einfach vorher das , mit nem .
m_strZah1.Replace(_T(','), _T('.'));wenn du atof mit 12,20 machst, wird daraus 12.00 da er ab dem komma abbricht
-
und wo muss ich das einfügen, bzw. was muss ich ersetzen? habe schon Verschiedenes probiert, klappte aber nicht.
Franz
-
Du solltest die entsprechende locale verwenden.
http://msdn2.microsoft.com/en-us/library/x99tb11d(VS.71).aspxsetlocale( LC_ALL, "" );Verwendet die Systemeinstellungen. Punkt in englischen OS als Dezimaltrennzeichen, Komma im deutschen.
-
Habe "setlocale( LC_ALL, "" );" in die InitInstance eingefügt, erhalte aber Fehlermeldung, dass setlocale und LC_ALL nichtdeklarierte Bezeichner sind.
In einem anderen Programm hat das aber funktioniert.
-
Keinen #include <locale.h> gemacht?
-
Danke Martin, da hätte ich selbst draufkommen müssen
