21xrx.com
2025-03-19 10:20:35 Wednesday
文章检索 我的文章 写文章
C++如何在一个数前面加0?
2023-07-09 05:02:01 深夜i     29     0
C++ 数值格式化 填充字符 std::setw() std::setfill()

在C++中,我们可以使用一些技巧来在一个数前面加上0,从而使其达到我们想要的输出效果。这种技巧通常被称为“填充”,因为我们在数字到达一定长度之前,需要用0来填充数位。

下面是介绍两种常用的方法:

1. 使用iomanip库中的setw()函数:

使用这种方法,我们可以设置输出的宽度,从而对数字进行填充。在头文件中包含 以便可以使用这个函数。例如要输出一个代表月份的数字,如果月份小于10,则在月份前面添加一个0:

#include <iostream>
#include <iomanip>
using namespace std;
int main() {
  int month = 7;
  cout << "月份:" << setw(2) << setfill('0') << month << endl;
  return 0;
}

在上面的代码中,setw()函数指示输出宽度的大小为2,setfill('0')函数指定要用来填充的字符为0。输出结果为:

月份:07

2. 格式化输出:

第二种方法是通过使用格式化输出来对数字进行填充。对于这种方法,我们必须使用iostrea头文件中的ostringstream库。代码如下:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string addZero(int num) {
  ostringstream oss;
  oss << setw(2) << setfill('0') << num;
  return oss.str();
}
int main() {
  int month = 7;
  cout << "月份:" << addZero(month) << endl;
  return 0;
}

在上面的代码中,首先定义了一个名为addZero()的函数,它使用ostringstream库将数字转换为字符串,并在其前面填充0。最后,我们在主函数中调用addZero()函数并输出结果。输出结果为:

月份:07

这两种方法非常有效和方便。无论您选择哪种方法,都可以轻松地在C++中对数字进行填充。

  
  

评论区

请求出错了