我希望显示一个带有正号并在其前面的三个0的数字,但是当我想要的是+0001时,到目前为止我得到的是000 + 1
#include <iostream>
#include <iomanip>
using namespace std;
int main(void)
{
int number = 1;
cout << showpos;
cout << setfill('0') << setw(5) << number << endl;
}
答案 0 :(得分:5)
您还需要设置std::internal
标志。这样,您将获得预期的+0001
-test at ideone。
答案 1 :(得分:2)
这是std::internal机械手的用途。例如,
std::cout << std::setw(5) << std::setfill('0') << std::internal << -5 << std::endl;
在没有std :: internal的情况下打印“ -0005”而不是“ 000-5”。