este programita sencillito, por ejemplo en si yo le ingresara una sifra mayor a 7 digitos(ej: 1234567) el programa da como salida 1.23457e+06 y si lo cambio a tipo double sucede lo mismo. ¿ que puedo hacer en esos casos ?
#include <iostream.h>
int main()
{ double x;
cout<<"Ingrese el valor de X: ";
cin>>x;
cout<<endl<<"usted ingreso "<<x<<endl;
system("pause");
return 0;
}
La salida es la clásica notación científica para un double de ese tamaño, sólo hasta seis cifras un float o double salen como entero y para mayores cifras usa la mencionada notación científica. Si lo cambias como INT te saldrá 1234567.
Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
osea que no se pueden ingresar cifras muy altas ? porque si por ejemplo, lo cambiara a tipo int o long y le ingreso un numero de 10 cifras sale un resultado loco
Cita de: ThronerAXE en 20 Diciembre 2013, 01:48 AM
osea que no se pueden ingresar cifras muy altas ? porque si por ejemplo, lo cambiara a tipo int o long y le ingreso un numero de 10 cifras sale un resultado loco
Sí se pueden ingresar cifras muy altas, pero en formato float o double con la consiguiente notación exponencial. Otra cosa es la limitación de los enteros.
En mi máquina el entero máximo es 2147483647. Lo puedes consultar en la librería climits.
De todas formas en C se puede controlar el número de cifras significativas y decimales, pero no sé como sería en C++.Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Cita de: ThronerAXE en 20 Diciembre 2013, 00:39 AMeste programita sencillito, por ejemplo en si yo le ingresara una sifra mayor a 7 digitos(ej: 1234567) el programa da como salida 1.23457e+06 y si lo cambio a tipo double sucede lo mismo. ¿ que puedo hacer en esos casos ?
No veo el problema ya que el numero almacenado es el correcto. Tema aparte es el formato de impresión, en C++ utilizas los manipuladores fixed (http://www.cplusplus.com/reference/ios/fixed/) y scientific (http://www.cplusplus.com/reference/ios/scientific/) para ese propósito.
Un saludo