如何将整数转换为c ++中具有固定位数的字符串?

时间:2012-12-17 20:58:49

标签: c++ string

例如,有4位数字,将0转换为“0000”;和12到“0012”。

c ++有什么好方法吗?

抱歉没有说清楚,我的编译器不支持snprintf,我想要一个像

这样的函数

std :: string ToString(int value,int digitsCount);

2 个答案:

答案 0 :(得分:4)

char buf[5];
snprintf(buf, sizeof(buf), "%04d", intVal);

答案 1 :(得分:3)

也许是这样的

#include <iostream>
#include <iomanip>
#include <sstream>

using namespace std;

string ToString(int value,int digitsCount)
{
    ostringstream os;
    os<<setfill('0')<<setw(digitsCount)<<value;
    return os.str();
}

int main()
{
    cout<<ToString(0,4)<<endl;
    cout<<ToString(12,4)<<endl;
}