Wie float to CString konvertieren ?
-
Hallo
Wie bringe ich das Folgende fertig ?
float fWert = 1.3f; CString strResultat; strResultat = funktiongesucht(fWert);Und auch in die umgekehrte Richtung.
Suche schon seit langen im Google mit Suchbegriffen wie Typenkonvertierung und Type Conversion. Habe aber nichts gefunden (oder es nicht verstanden
)Für die ewigen Umwandlungn von Irgendetwas in was Anderes gibt es doch sicher irgendwo ein Link oder eine Funktionsbibliothek oder Klasse oder sonst etwas.
Gruss, Peter
-
CString::Format
-
estartu schrieb:
CString::Format
Super, Danke.
Gibt's da auch was in die andere Richtung also für:
CString strValue = "123.4"; float fResult; fResult = einefunktion(strValue);
-
CString strValue = "123.4"; float fResult; fResult = atof((LPCTSTR)strValue);Type-Cast auf LPCTSTR möglicherweise unnötig.
-
Manfred Schmidtke schrieb:
CString strValue = "123.4"; float fResult; fResult = atof((LPCTSTR)strValue);Type-Cast auf LPCTSTR möglicherweise unnötig.
Das funktioniert, aber leider nur teilweise. Entgegen der Wortbeschreibung wandelt atof nicht in float sondern in double.
Und prompt meckert der Kompiler:
warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
Also wie der CString zum float wird, habe ich immer noch nicht herausgefunden.
-
Stimmt, der Rückgabewert ist double. Wenn Dir jedoch float reicht und die Warnmeldung stört (was sie eigentlich immer tun sollten), setze einfach ein (float) als typecast ein.
Die Warnmeldung besagt lediglich, das das double-Ergebnis bei der Umwandlung nach float an Genauigkeit verlieren kann.
Eine andere Möglichkeit ist mir nicht bekannt und m. E. auch nicht notwendig.