[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