Для этого можно использовать потоковые манипуляторы std::fixed
и std::setprecision
из заголовка <iomanip>
.
Вот пример:
#include <iostream>
#include <iomanip>
// printf("\n %.2f Celsius = %.2f Fahrenheit", celsius, fahrenheit);
int main()
{
const float celsius = 10.555;
const float fahrenheit = 50.999;
std::cout << '\n'
<< std::fixed
<< std::setprecision( 2 )
<< celsius << " Celsius = "
<< fahrenheit << " Fahrenheit";
return 0;
}
Выход:
10,56 по Цельсию = 51,00 по Фаренгейту
Вот живой пример: https://ideone.com/ElJ0Wg
Но это не так компактно, как с printf
. Тем не менее, есть эта библиотека форматирования (fmt
), которая пытается достичь компактности printf
вместе с другими полезными вещами. И, AFAIK, было предложено включить его в стандартную библиотеку C ++. Итак, ИМО, было бы неплохо изучить и использовать его в своих проектах.