[C++][VCL] String to Float

andreas_gierisch

Erfahrenes Mitglied
Hallo, ich bekomme beim Ausführen meines Programms einen Fehler beim umwandeln eines Strings in eine Gleitkommazahl und verstehe nicht wieso. Könnt ihr mir da weiterhelfen?

Code:
string* dat_in = new string[14];
double zahl;
ifstream file_in;
file_in.open(filename);
file_in >> dat_in[0];
if(dat_in[0] != "-")
   zahl = StrToFloat(dat_in[0].c_str());

Wenn ich den String nicht in eine Zahl umwandle, sondern in einem EditFeld ausgebe, dann erscheint eine "Zahl" im Format 4,237424e+04. Dies entspricht ja eigentlich einer Gleitkommazahl, oder nicht?
 
moin


Lass bei file_in >> dat_in[0]; das [0] mal weg.

Und bei dat_in[0].c_str() auch das [0] weg.


mfg
umbrasaxum
 
ich glaub nicht, dass das funktionieren würde, das ist ja ein String-Array und der der Text soll ja an die Position [0] geschrieben werden.

Aber ich hab das Problem gelöst, wenn ich statt StrToFloat(), atof() nehme, dann funktionierts.
 
Zurück