如何输出带正号和零的整数

时间:2019-04-03 11:36:38

标签: c++

我希望显示一个带有正号并在其前面的三个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;
    }

2 个答案:

答案 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”。