in Cstring in float rechnen....
-
hallo,
float preis,vpreis; CString abcxw = _T(""); abcxw = "3.2"; preis = atof((const char *)abcxw.GetBuffer(256)); //Zeile 4 vpreis = preis * 1.19; CString f = _T(""); int iNachkomma = 2; f.Format(_T("%%01.%df"), iNachkomma); tempob.Format( f, vpreis );
Zeile 4 aus 3.2 eine 3.00
Ich brauche aber 3.2
-
tomycat2009 schrieb:
Zeile 4 aus 3.2 eine 3.00
Das Ergebnis stimmt.
CString s = "3.2";
Der Inhalt des Strings ist jetzt 8 Bytes (Unicode !) lang, nämlich 51 0 46 0 50 0 0 0.
Den castest du nach const char*, da ist die Null das Endezeichen, es bleibt also 51 0, sprich "3".Und atof("3") liefert 3.0
So wärs richtig
CString text = "3.2"; double d = _tstof(text);
Du hast aus dem Thread mit dem Drucker nichts gelernt.
-
nn schrieb:
Du hast aus dem Thread mit dem Drucker nichts gelernt.
Bis jetzt noch nicht, ich habe immer CString zu int gewandet.CString zu Float war Neuland.
Verräst du mir deinen richtigen Namen? Oder willst du dich verstecken?
-
tomycat2009 schrieb:
nn schrieb:
Du hast aus dem Thread mit dem Drucker nichts gelernt.
Bis jetzt noch nicht, ich habe immer CString zu int gewandet.
Bei atoi würde der gleiche Fehler auftreten.
tomycat2009 schrieb:
Verräst du mir deinen richtigen Namen?
Nö.
-
[quote="nn"][quote="tomycat2009"]
nn schrieb:
tomycat2009 schrieb:
Verräst du mir deinen richtigen Namen?
Nö.
ich meinte dein nickname
Aber egal nichts für ungut