Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

und double d=2.48 in string s=" 2,48" ??





Frage

Vielen Dank fuer Eure Anworten! Wie geht aber der umgekehrte Weg: float f = 2.489 in string s= " 2.9" und s="2.9 " ? Schoene Eierfeier! Laura

Antwort 1 von DaDings

CString s;
float f = 2.489:

// umwandeln in string mit ","
s.Format("%f",f);
s.Replace(".",",");

//zurückwandeln in float;

f = atof(s.Replace(",",".");

falls das dein Problem war

Antwort 2 von Lau2

Danke DaDings,

es war nicht genau mein Problem, aber
so muesste es auch gehen.
Komma statt Punkt war nur ein Tippfehlter.

Aber ich wollte ja

den String s = " 2.5558" ereugen
also mit Leeryiehen davor z.B. und einer
vordefinierten Laenge:

String s;

s.Format(" %f", 2.5558);

muesste doch gehen

ABER
CString ist doch MFC
hat die Klasse string auch diese Methode?

Antwort 3 von DaDings

war ja klar, ich versteh immer alles falsch ;-)

string selbst kann das nicht

falls du trotzdem dich entschliessen kannst CString zu verwenden dann wäre die Lerzeichenproblematik
mit:

s.Format("%4.5f",2,3455);
zu erledigen

Antwort 4 von Lau2

Danke DaDings,

ich wuerde ja gerne CString benutzen,
aber ich moechte die Programme fuer
Linux, Unix oder dergleichen kompilieren,
und wenn ich es richtig verstanden habe,
gehoert die Klasse CString ja zu MFC

Ich brauechte alse einen Compiler von Microsoft,
und die Progs duerften dann auch nur
unter Windows laufen,
oder verstehe ich das falsch?

Gruss
Laura

Antwort 5 von Lau2

Puh,

ich habe jetzt ueber Yahoo alles
abgegrast.

Es kann doch nicht sein, dass
man in C++ nicht so etwas elementares
wie Konvertierung von Int, Double in einen
String geht.

So eine Funktion wie in MFC
s.Format(%f, d) waere genial!

Gibt es das wirklich nicht in C++????

Antwort 6 von Lau2

Moin,

ich habe gelesen, dass man etwas mit
dem Stringstream sstream machen kann

Nur wie formatiert man dann?

Gruss
Laura

Antwort 7 von DaDings

Ich fürchte auch damit geht es nicht.
So wie ich das sehe, gibt es 2 Möglichkeiten:
Entweder du schreibst dir eine eigene Funktion oder du durchsuchst mal codeguru.com oder codeproject.com. Auf diesen Seiten findest du sicher Klassen die auch ohne MFC auskommen.
zB da
http://www.codeguru.com/Cpp/Cpp/string

Antwort 8 von c-guru

nee wieso ne funktion für etwas, das schon im ersten k&r c compiler vorgesehen war, das type casting


http://userpage.fu-berlin.de/~ram/pub/pub_w33d45lg/c_typwandlung_de

Antwort 9 von c++-guru

Antwort 10 von Lau2

Danke DaDings und C++-guru,

@DaDings,
eine eigene Funktion hierfuer zu schreiben
ist glaube ich ein wenig zu hoch fuer mich!
Bis jetzt konnte ich auch keinen passenden
Code finden.

@c++-guru,

auf deiner Seite ist aber nur das casten
von int in float beschrieben.
Das hat aber doch nichts damit zu tun
float in einen string der Klasse String
umzuwandeln.
Moeglichst auch noch formatiert,
Breite, Nachkommastellen, ...

mit s.Format(%5f, f) von MFC ja kein Problem


Gruss Laura

Antwort 11 von c-guru

na doch, nimm halt fprintf etc her (siehe 1.beispiel link oben )

unsereins hätte das einfach mal alles durchprobiert früher, auf was wartest du? vorgefertigte funktionen wie legobausteine zusammenfügen und es dann als "eigene" programmierkunst bezeichnen?

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: