String to Double



  • Hi,

    ich habe ein Problem einen String (definiert als 'std::string s;') in ein double zu konvertieren. Dabei lese ich aus einer Datei die Zahlenwerte aus, bastele daraus einen String zusammen, den ich anschließend in einen double (definiert als double gg) umwandeln möchte. Die Funktionen strtod oder atof habe ich schon ausprobiert und erhalte immer die Fehlermeldung, dass er den String nicht in einen 'const char' konvertieren kann.

    Vielleicht kann mir ja jemand kurz aushelfen bzw. eine Seite empfehlen die mir dabei helfen könnte.

    Danke
    ein Rookie in C++

    Code bis jetzt:

    std::string s;
    double gg;

    while (!Source.eof())
    {
    Source.get(c);
    if (c == ',')
    gg = atof(s); // hiermit ist mein Compiler nicht zufrieden
    else
    s += c;
    ....



  • Rookie8 schrieb:

    Vielleicht kann mir ja jemand kurz aushelfen bzw. eine Seite empfehlen die mir dabei helfen könnte.

    Ich empfehle www.c-plusplus.net. Dort im Forum in den C++ FAQs findest du
    http://www.c-plusplus.net/forum/viewtopic.php?t=39488

    gg = atof(s); // hiermit ist mein Compiler nicht zufrieden

    und recht hat er.
    Versuch's mal mit:
    gg = atof(s.c_str());



  • #include <sstream>
    #include <string>
    
    //...
    
    std::string pi_str = "3.1415926";
    std::stringstream s_in;
    double pi;
    
    s_in.str(pi_str);
    s_in >> pi;
    

Anmelden zum Antworten