C++ ofrece varias formas de convertir float a string pero todas son de muy mala calidad:
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
int main(int argc, char *argv[]) {
std::string numberstring;
double number=3.141592653579;
//usando la funcion to_string para convertir numero a cadena
std::cout << std::to_string(number) << std::endl;
//usando setprecision y flujo para cambiar el numero de decimales
std::ostringstream contenedorflujo;
contenedorflujo << std::setprecision(15)<< number ;
numberstring = contenedorflujo.str();
std::cout << numberstring << std::endl;
return 0;
}
salida:
3.141592
3.141592653579
La primera función to_string solo muestra 6 decimales y la otra forma que consiste en usar setpresicion y un flujo es muy lenta e incomoda de usar.
Entonces por esas razones quiero mi crear mi propia función que convierta números decimales a flotantes y viceversa en C++, el problema es que no entiendo la explicación que esta en la Wikipedia sobre el formato de coma flotante estándar:
Alguien puede explicarme con un ejemplo de como funciona el algoritmo y yo me encargo de escribirlo formalmente en código.