#include <fstream>
#include <iostream>
#include <cstdlib>
#include <string>
#include <iomanip>
int main()
{
using namespace std;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
double numero_salida = 0;
// PRIMER NUMERO
char numero1[] = "123.45678900000000000000";
numero_salida = atof(numero1); // Convierto char a double
cout << endl;
cout << "El numero 1 convertido es:" << endl;
cout << "--------------------------" << endl;
cout << setprecision(20) << numero_salida << endl;
// con lo que sigue se muestra que por mas que aparezca basura la variable esta bien cargada
cout << " " << setprecision(20) << numero_salida - 123.456789 << endl;;
cout << endl;
cout << endl;
// SEGUNDO NUMERO
char numero2[] = "12.45678900000000000000";
numero_salida = atof(numero2);
cout << endl;
cout << "El numero 2 convertido es:" << endl;
cout << "--------------------------" << endl;
cout << setprecision(20) << numero_salida << endl;
// con lo que sigue se muestra que por mas que aparezca basura la variable esta bien cargada
cout << " " << setprecision(20) << numero_salida - 12.456789 << endl;;
cout << endl;
cout << endl;
// TERCER NUMERO
char numero3[] = "1.45678900000000000000";
numero_salida = atof(numero3);
cout << endl;
cout << "El numero 3 convertido es:" << endl;
cout << "--------------------------" << endl;
cout << setprecision(20) << numero_salida << endl;
// con lo que sigue se muestra que por mas que aparezca basura la variable esta bien cargada
cout << setprecision(20) << numero_salida - 1.456789;
cout << endl;
cout << endl;
return (0);
}