Я уже просмотрел этот thread, но он не учитывает отрицательные числа, если я использую setfill ('0').установить точность цифр до десятичной точки?
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
//Code
int num1;
cin >> num1;
cout << setw(5) << setfill('0') << num1 << endl;
return 0;
}
Используя этот метод, если я нахожу «5», он будет отображаться как «00005». Но если я вхожу в -5, он отобразится как «000-5»
Как я могу исправить это так, чтобы выход был «-0005»?
Вот почему я до сих пор предпочитаю формат маска Е(). % 05d делает правильные вещи. – epx
@epx И как только вы измените тип переменной на 'short' по какой-либо причине, ваша версия будет нарушена. Однако, поскольку C++ 11 может быть реализована альтернатива типа безопасности, например [эта библиотека] (https://github.com/c42f/tinyformat) – leemes