4

C++ 中有没有办法让编译器采用一定数量的数字,即使它们的第一个数字是 0。例如:

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

我真的没有要显示的代码,因为我什至不知道要为此使用什么函数,而且我拥有的代码正在像宣传的那样工作,这不是我想要的。我可以将数字设为字符串,但我更愿意将其保留为整数。

4

3 回答 3

11

用途std::setfillstd::setw功能:

#include <iostream>
#include <iomanip>

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

输出:

00001

请参阅相关问题:
使用 cout << 运算符时,如何用前导零填充 int?
使用 C++ 输出运算符打印前导零(等效于 printf)?

于 2013-03-26T12:29:35.803 回答
0

物品编号之类的东西通常用作标识符;它们看起来像数字的事实令人分心。将它们存储为字符串。

于 2013-03-26T12:57:55.320 回答
-1

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

一种更容易的方法是为格式化数字创建一个类,在其中将数字与格式结合起来。

于 2013-03-26T12:33:35.740 回答