📅  最后修改于: 2023-12-03 14:54:28.338000             🧑  作者: Mango
在某些情况下,我们可能需要打印出固定位数的数字,并在前面填充零。例如,在LCD显示屏上显示时间时,我们通常需要将时间格式化为“小时:分钟:秒”的形式,并在数字前面用零填充,例如“10:05:09”,而不是“10:5:9”。
下面是一段C++代码片段,可以帮助您在打印数字时添加前导零。
#include <iostream>
#include <iomanip>
int main() {
int num1 = 5;
int num2 = 10;
int num3 = 100;
std::cout << std::setw(2) << std::setfill('0') << num1 << std::endl;
std::cout << std::setw(2) << std::setfill('0') << num2 << std::endl;
std::cout << std::setw(2) << std::setfill('0') << num3 << std::endl;
return 0;
}
这段代码中,我们使用了C++标准库中的iomanip头文件。其中,setw函数指定了打印数字时使用的最小字段宽度(即输出的数字的最小位数),而setfill函数指定了填充前导零的字符。
在上面的代码片段中,我们将字段宽度设置为2,并用0填充。这意味着,不论num1,num2或num3的值是什么,它们都将被打印为两位数字,不足两位的数字将用前导零填充。
这是上述代码片段的输出:
05
10
100
如您所见,每个数字都被打印为两位数,并用前导零填充。
您可以根据需要调整字段宽度和填充字符以适配您的应用程序。