[C con Clase] c++
Steven Richard Davidson
stevenrichard.davidson en gmail.com
Mie Oct 17 14:56:07 CEST 2007
Hola Paqui,
On 10/17/07, i12lumof en uco.es <i12lumof en uco.es> wrote:
> Hola a todos, tengo una preguntita, sencilla pero no encuentro la respuesta.
>
> Al usar fichero<<numero para escribir un numero en un fichero, ¿hay
> alguna opcion que te deje indicar que si es un numero muy grande no
> escriba en el fichero 1.9876542+e007, sino que solo escriba el millon
> de toda la vida?
>
Sí. Puedes habilitar ciertos formatos establecidos. Por ejemplo,
fichero.setf( ios::fixed, ios::scientific );
fichero << numero;
Aquí, deshabilitamos el banderín del formato científico (con el
exponente) y habilitamos el banderín del formato fijado (sin
exponente).
También puedes usar el manipulador 'setiosflags()' para hacer el
cambio temporalmente. Por ejemplo,
fichero << setiosflags( ios::fixed, ios::scientific ) << numero;
Adicionalmente, puedes establecer la precisión de la salida; o sea, la
cantidad de caracteres que aparecerán en la cadena convertida. Esto lo
hacemos con la funcidn miembro 'precision()' o con el manipulador
'setprecision()'. Por ejemplo,
fichero.setf( ios::fixed, ios::scientific );
fichero.precision( 10 );
fichero << numero;
Puedes consultar el apéndice D de nuestro curso de C++ que trata de un
manual de referencia de las STL que conciernen con el control y
manipulación de entrada y salida de datos. El enlace es:
http://c.conclase.net/curso/index.php?cap=903
Espero que esto te ayude.
Steven
Más información sobre la lista de distribución Cconclase