Cast string zu float und umgekehrt
-
atof wandelt einen String in float um, hab ich wohl übersehen. Und welche Funktion wandelt einen float in einen String um?
-
atof wanndelt den String auch in ein 64bit double um, ich benötige jedoch ein 32bit float.
-
maRKus23 schrieb:
Und welche Funktion wandelt einen float in einen String um?
CString::Format

-
Hast du dir mal atof angeschaut, diese Methode wandelt den String in ein double um.
-
Kannste mal bitte ein Beispiel posten, wie man den float umwandelt.
Die Methode ist mir nicht bekannt und aus der MSDN werd ich auch nicht schlau.
-
Das funktioniert wie printf.

CString strBla; float dZahl = 3.4; strBla.Format("%.1f", dZahl);Das ist jetzt nicht getestet, müsste aber passen.

-
Danke schön.
Aber noch eine Anmerkung: atof funktioniert nicht!
-
Das hatte ich gelesen, aber ich weiß leider nicht, was stattdessen funktionieren könnte.

-
hmm??CString strBla; float dZahl = 3.4; strBla.Format("%.1f", dZahl);Diese Methode schneidet mir die Nachkommastellen ab. Haste ne Ahnung warum?
-
Ja klar, was meinst du, was die 1 macht?

Spiel doch mal damit rum, schreib mal
%.2f
%10.5f
usw.... oder guck doch nochmal in die Doku ob dir ein Licht aufgeht.

Du solltest doch irgendwo ein C-Buch mit ner Erklärung zu printf drin haben, oder?
-
upps, hab l(kleines L) anstatt 1(eins)
-
Oh, ich hatte damit gerechnet, dass du das kopierst und nicht abschreibst.

-
So jetzt funktionierts auch richtig.

-
atof funktioniert nicht!
Was funktioniert daran nicht? Wenn Du unbedingt ein float brauchst, dann caste den double-Wert doch danach.