Как показать, что выводится float, если он хранит только целую часть?

На самом деле лучше показать на примере:

int a = 5;
float b = 5.7;
float c = 7;
std::cout << a << " " << b << " " << c;

По факту получается 5 5.7 7, а я хочу 5 5.7 7.0. Можно ли это как-то реализовать? Мне не нужно форматировать все числа, например с std::scientific, мне нужно просто добавлять .0, если у float есть только целая часть.

С точки зрения реализации есть два метода, которые принимают int и float, поэтому сделать просто std::to_string(c) + ".0" не получится.


Ответы (1 шт):

Автор решения: Harry
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    int a = 5;
    float b = 5.7;
    float c = 7;
    cout << fixed << setprecision(1) << a << " " << b << " " << c;
}
→ Ссылка