¿Hay alguna forma de establecer el número "mínimo" de decimales que generará std :: ostream?Configuración del número mínimo de decimales para std :: ostream precision
Por ejemplo, decir que tengo dos variables dobles desconocidos que quiero imprimir (valores añadidos aquí en aras de la ilustración):
double a = 0;
double b = 0.123456789;
puedo configurar mi máxima precisión decimal de modo que la producción me b
exactamente
std::cout << std::setprecision(9) << b << std::endl;
>>> 0.123456789
¿hay una manera de establecer una precisión "mínimo" (un número mínimo de decimales), al tiempo que conserva la precisión "máximo", por lo que
std::cout << a << std::endl << b << std::endl;
rendimientos
0.0
0.123456789
no
0
0.123456789
?
Gracias! Phil
la respuesta corta a esto es "No". La transmisión tiene solo una configuración de precisión, sin posibilidad de diferenciar entre precisión máxima y mínima. ¡Gracias a todos por sus generosos consejos!
Lea la pregunta con cuidado. Phil quiere un MÍNIMO de 1 dígito de precisión después del punto decimal, pero más si hay dígitos que no sean cero. – Oddthinking
@Phil: Puede encontrar http://stackoverflow.com/questions/2475642/how-to-achieve-the-following-c-output-formatting útil. –
Gracias Roger. Eso es muy útil. Su ejemplo de formateador parece ser el camino correcto a seguir. –