例如,有4位数字,将0转换为“0000”;和12到“0012”。
c ++有什么好方法吗?
抱歉没有说清楚,我的编译器不支持snprintf,我想要一个像
这样的函数std :: string ToString(int value,int digitsCount);
答案 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;
}