Łańcuch w notacji naukowej C ++ do podwójnej konwersji

Mam bazę danych wypełnioną dubletami w następujący sposób:

1.60000000000000000000000000000000000e+01

Czy ktoś wie, jak przekonwertować taką liczbę na podwójną w C ++?

Czy istnieje „standardowy” sposób na robienie tego typu rzeczy? Czy muszę przetaczać własną funkcję?

W tej chwili robię coś takiego:

#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;
}

Dzięki!

questionAnswers(2)

yourAnswerToTheQuestion