В C ++ у меня есть такой код:
float hits = 10.12;
float mins = 2.19;
std::ostringstream ss;
ss.precision(2);
ss << std::fixed << hits << "%\n"<< std::fixed << mins << "%";
std::cout << ss.str();
Который дает мне этот вывод:
10.12%
2.19%
Принимая во внимание, что вместо этого я хотел бы, чтобы выровнялись десятичные разряды:
10.12%
2.19%
Есть ли способ дополнить пробелами до десятичной дроби, чтобы иметь фиксированную ширину пробела для двух цифр перед десятичной запятой?
использование width
установить размер столбца, а затем станд :: право чтобы оправдать вывод.
Есть setw()
а также setprecision()
определить выходную ширину и точность для значений с плавающей точкой. Таким образом, вы должны быть в состоянии использовать его как
ss << setw(8) << hits << "%\n"; ...
Посмотрите Вот для справки.