Строка в научной нотации C ++ для двойного преобразования
У меня есть база данных, заполненная двойными числами, как эта:
1.60000000000000000000000000000000000e+01
Кто-нибудь знает, как преобразовать такое число в double в C ++?
Есть ли «стандартный» способ сделать это? Или я должен свернуть свою собственную функцию?
Прямо сейчас я делаю что-то вроде этого:
#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;
}
Спасибо!