C++ 中有没有办法让编译器采用一定数量的数字,即使它们的第一个数字是 0。例如:
我有一个项目编号,即 00001,当我从文件中导入编号时,它显示 1。我希望它导入所有五位数字并显示为 00001。
我真的没有要显示的代码,因为我什至不知道要为此使用什么函数,而且我拥有的代码正在像宣传的那样工作,这不是我想要的。我可以将数字设为字符串,但我更愿意将其保留为整数。
用途std::setfill
及std::setw
功能:
#include <iostream>
#include <iomanip>
int main()
{
std::cout << std::setfill('0') << std::setw(5) << 1;
}
输出:
00001
请参阅相关问题:
使用 cout << 运算符时,如何用前导零填充 int?
使用 C++ 输出运算符打印前导零(等效于 printf)?
物品编号之类的东西通常用作标识符;它们看起来像数字的事实令人分心。将它们存储为字符串。
基本上,没有。本机数据类型不包含任何格式信息。您需要自己跟踪格式。只有在需要输出数字时才需要格式化。
一种更容易的方法是为格式化数字创建一个类,在其中将数字与格式结合起来。