Konvertierung
-
Hallo,
ich habe mir eine Anwendung mit einigen Eingabefeldern erstellt, in die ich Zahlen vom Typ int und double eingeben kann.
Nun will ich diese aber mit Komma, bzw. mit zwei Nachkommastellen ausgeben lassen.
Mein Codem_strKaw.Format ("%d", m_nKw);
m_strJag.Format ("%.2f", m_dJg);kommt mit der Fehlermeldung, dass eine Konvertierung nicht möglich ist.
Was muss ich anders machen?
In VisualC++ 6 hat das funktioniert.
Viele Grüsse und Danke für Euere Antwort
Franz
-
Vermutlich hast Du bei Anlage des Projektes das Häkchen bei Unicode nicht weggemacht, dass bei VS2005 jetzt immer defaultmäßig gesetzt ist.
Schreib malm_strKaw.Format ([b]_T[/b]("%d"), m_nKw); m_strJag.Format ([b]_T[/b]("%.2f"), m_dJg);Wenn es dann immer noch nicht kompiliert, hat Du ein anderes Problem.
-
Welche Konvertierung klappt nicht? zufälligerweise von 'char*'/'char[3]' nach LPTSTR? Wenn ja, hast du ein Problem mit den UNICODE-Einstellungen. (Details darüber findest du in der MSDN)
Für die Schnelle eine Lösung:
m_strKaw.Format (TEXT("%d"), m_nKw);
-
Wenn "m_dJg" den Datentyp double hat funktioniert, das dann vlt. so besser?
m_strKaw.Format ("%d", m_nKw); m_strJag.Format ("%.2lf", m_dJg);
-
Danke, jencas, Dein Vorschlag hat mir geholfen.!
Jetzt habe ich noch ein Problem:m_nKw = atoi(m_strKaw);
m_dJg = atof(m_strJag);Hier bekomme ich die Fehlermeldung, dass eine Konvertierung von CString in
const char * nicht möglich ist.Habe es mit
m_nKw = atoi(_T("m_strKaw"))
m_dJg = atof(_T("m_strJag"))versucht. Klappt aber nicht.
Könnt Ihr mir helfen?
Danke und viele Grüsse
Franz
-
Da mußt du auch die UNICODE-Variante von atoi()/atof() verwenden - die nennt sich afair
_ttoi()bzw._ttof().
-
Hallo CStoll,
_ttoi wird akzeptiert, _ttof nicht. Es kommt die Meldung, dass der Bezeichner _ttof nicht gefunden wurde. Muss ich diesen irgendwo angeben und wenn, wo?
Ich bin 67 Jahre alt und habe mir das Programmierung zum Hobby gemacht. Bin leider noch ziemlicher Anfänger. Deshalb meine Fragen.
Grüsse
Franz
-
nur so als tipp
mach die MSDN auf und such zb nach "atoi" dann auf der seite findest du immer die TCHAR alternative, diese funktioniert dann fuer unicode sowie multibyte
atof gibts als _ttof oder _tstof
-
Hallo Mr. Evil,
das mit _tstof hat der Compiler geschluckt. Jetzt habe ich aber das Problem, dass nach dem Debuggen die Meldung kommt:
Debug Assertion Failed!
Program...
File:f\rtm\vctools\vc7libs\ship\atlfmc\src\dlgdata.cpp
Line 42Da ich mich damit überhaupt nicht auskenne, kannst Du mir vielleicht sagen, was ich damit anstellen soll? Und wie ich das Programm zum laufen bringen kann.
Danke und Grüsse
Franz
-
Hallo Franz!
Lies mal: http://www.c-plusplus.net/forum/viewtopic-var-t-is-120832.html
Auch wenn es vielleicht nicht 100% zu deiner VC Version passt, solltest du doch das Kapitel 6 mal genauer ansehen.
Dann kannst du den Fehler vielleicht schon selbst finden, aber auf jeden Fall weißt du, was wir sehen wollen, um dir weiterhelfen zu können.
