¿Por qué no me salen decimales? (C++)

publicado por: Anonymous

Realizando un código en C++, al emplear el cout para mostrar por pantalla una serie de números “double” me salen como enteros (o sea, si es un 6, querría que saliese 6.00). Ya he probado con el setprecision, pero sigue sin funcionarme. Os dejo un ejemplo de código:

cout << setw(7) << " h" << ivb[i]-n+1 << " = " << setprecision(2) << b[i];

(ivb es entero, pero b es double).

solución

Podrías intentar utilizando fixed, indicando que habrá un número fijo de dígitos decimales después de la coma.

cout << setw(7) << " h" << ivb[i]-n+1 << " = " << setprecision(2) << fixed << b[i];

Por ejemplo:

cout << setprecision (2) << fixed << 2.1;

Imprimiría: 2.10

De igual forma, el uso de setprecision depende de la manera en la que el punto decimal es formateado: fixed, scientific o floatfmt() (por defecto).

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *