Tengo una base de datos llena con dobles como el siguiente:cadena en notación C. científica ++ a doble conversión
1.60000000000000000000000000000000000e+01
¿Alguien sabe cómo convertir un número de esa manera a un doble en C++?
¿Hay una manera "estándar" para hacer este tipo de cosas? ¿O tengo que rodar mi propia función?
En este momento estoy haciendo algo como esto:
#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;
}
Gracias!
¿Qué tipo de base de datos? ¿Cuál es el esquema de la base de datos alrededor de ese campo? –
¿Cuál es la precisión que necesita para mantener este número? Si, mantener esa alta precisión no es un problema, puedes "cortar" esta cuerda y convertirla a doble usando las funciones comunes de C. – Andres
Tenga en cuenta que debe verificar el estado de la secuencia de cadenas después de leer de ella. La lectura puede fallar – sbi