iostream — отображает числа с отступом и фиксированным количеством цифр в переполнении стека

Я хотел бы отображать числа, используя отступы (при необходимости) и фиксированное количество цифр. Например, учитывая следующие цифры:

48.3
0.3485
5.2

Показать их так:

48.30
00.35
05.20

Я пытаюсь использовать комбинации std :: fixed, std :: fill, std :: setw и std :: setprecision, но не могу получить то, что ищу. Хотелось бы немного руководства!

ПРИМЕЧАНИЕ. Заполнение нулями на самом деле не критично, но я все же хотел бы, чтобы числа были выровнены так, чтобы десятичная точка находилась в том же столбце.

2

Решение

Это довольно просто

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
cout << fixed << setprecision(2) << setfill('0');
cout << setw(5) << 48.3 << endl;
cout << setw(5) << 0.3485 << endl;
cout << setw(5) << 5.2 << endl;
}

Написание такого кода заставляет меня жаждать printf тем не мение.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]