Cadeia em notação científica C ++ para duplicar conversão

Eu tenho um banco de dados preenchido com duplas como o seguinte:

1.60000000000000000000000000000000000e+01

Alguém sabe como converter um número assim para um duplo em C ++?

Existe uma maneira "padrão" de fazer esse tipo de coisa? Ou eu tenho que rolar minha própria função?

Agora eu estou fazendo assim:

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

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion