String in wissenschaftlicher Notation C ++ zur doppelten Konvertierung

Ich habe eine Datenbank mit Doppeln wie der folgenden:

1.60000000000000000000000000000000000e+01

Weiß jemand, wie man eine solche Zahl in C ++ in ein Double umwandelt?

Gibt es einen "Standard" Weg, um diese Art von Dingen zu tun? Oder muss ich meine eigene Funktion rollen?

Im Moment mache ich so etwas:

#include <string>
#include <sstream>



int main() {
    std::string s("1.60000000000000000000000000000000000e+01");
    std::istringstream iss(s);
    double d;
    iss >> d;
    d += 10.303030;
    std::cout << d << std::endl;
}

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage