c++ convert int to string fixed length

在 C++ 中,要将一个整数转换为固定长度的字符串,可以使用以下方法:

  • 使用 std::to_string() 函数将整数转换为字符串,然后通过字符串的长度和目标长度进行比较,不足的部分在字符串前面补充 0。
  • 示例代码如下:

    #include <iostream>
    #include <string>
    using namespace std;
    string intToString(int num, int len) {
        string str = to_string(num);
        if (str.length() < len) {
            str = string(len - str.length(), '0') + str;
        return str;
    int main() {
        int num = 123;
        int len = 5;
        string str = intToString(num, len);
        cout << str << endl;
        return 0;
    

    输出结果为 "00123"。

  • 使用 sprintf() 函数将整数转换为格式化字符串,可以使用 "%0Nd" 格式指定输出的字符串长度为 N,不足的部分在字符串前面补充 0。
  • 示例代码如下:

    #include <iostream>
    #include <cstdio>
    using namespace std;
    string intToString(int num, int len) {
        char str[len + 1];
        sprintf(str, "%0*d", len, num);
        return str;
    int main() {
        int num = 123;
        int len = 5;
        string str = intToString(num, len);
        cout << str << endl;
        return 0;
    

    输出结果为 "00123"。

    以上两种方法都可以将整数转换为固定长度的字符串,具体使用哪种方法可以根据实际情况选择。

  •