设置整数的位数

时间:2013-03-26 12:26:01

标签: c++ integer int iomanip

在C ++中是否有一种方法可以使编译器获取一定数量的数字,即使它们的第一个数字是0也是如此。例如:

我有一个项目编号为00001,当我从文件中导入数字时,它会显示1.我希望它导入所有五位数并显示为00001.

我真的没有代码要显示,因为我甚至不知道要使用哪种功能,而且我的代码就像宣传的一样,它不是我想要的东西去做。我可以将数字设为字符串,但我希望保持整数。

3 个答案:

答案 0 :(得分:11)

使用std::setfillstd::setw函数:

#include <iostream>
#include <iomanip>

int main()
{
    std::cout << std::setfill('0') << std::setw(5) << 1;
}

输出:

00001

见相关问题:
How can I pad an int with leading zeros when using cout << operator?
Print leading zeros with C++ output operator (printf equivalent)?

答案 1 :(得分:0)

项目编号之类的东西通常用作标识符;他们看起来像数字的事实是一种分心。将它们存储为字符串。

答案 2 :(得分:-1)

基本上没有。本机数据类型不包含任何格式信息。您需要自己跟踪格式。您只需要输出数字时需要格式化。

更容易实现的一种方法是为格式化数字创建一个类,您可以将数字与格式组合在一起。