La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Dev-C/1196213-Decimales-en-C.html

Decimales en C++

Decimales en C++

Publicado por afcm (2 intervenciones) el 14/04/2010 02:06:12
hola necesito ayuda con un codigo en C++,.. necesito imprimir numeros con 3 decimales, Ej.

si es 5, debo imprimir 5.000
si es 2.5, debo imprimir 2.500
si es 1.0827, debo imprimir 1.083

que puedo usar para redondear e imprimir la cantidad de decimales que deseo?? e imprimir la cantidad de ceros restantes

gracias ;-)

RE:Decimales en C++

Publicado por Capitan Kirk (48 intervenciones) el 14/04/2010 08:15:09
Con printf, puedes poner especificaciones de formato. Por ejemplo:

double x;
...
printf("%f", x);

te imprimirá x con 6 cifras decimales (por defecto).

printf("%10.3f", x);

te imprimirá x con 3 cifras decimales y 10 caracteres en total. En el total de caracteres hay que contar el signo y el punto decimal.

printf("+10.3f", x);

hace lo mismo que el anterior, pero forzando a que siempre imprima el signo aunque sea positivo (por defecto, solo imprime el signo cuando es negativo).

Si faltan caracteres, te rellena con blancos poer la izquierda. Si sobran caracteres, pasa del formato y te imprime con todos los caracteres que necesite, pero siempre te respetará el número de cifras decimales.

Por el redondeo no te preocupes, te lo hace automáticamente. Ojo, solo a efectos de impresión, es decir, si tienes

x = 1.0827

y efectúas, por ejemplo,

printf("%+8.3f", x);

te va a imprimir:

__+1.083

(los subrayados indican espacios en blanco), pero x sigue valiendo 1.0827

Esto es válido también para el formato exponencial ("%e", la letra e, el exponente y el signo del exponente también contarán en el total de caracteres), así como para el resto de funciones de la familia de printf.

No sé si cout admite alguna especificación de formato, no trabajo en C++.

Saludos,

RE:Decimales en C++

Publicado por afcm (2 intervenciones) el 14/04/2010 16:30:42
oook muchas gracias