- 数字转字符串:
用C++的stringstream:
#include <sstream>
#include <string>
string num2str(double i)
{
stringstream ss;
ss << i;
return ss.str();
}
- 字符串转数字
int str2num(string s)
{
int num;
stringstream ss(s);
ss>>num;
return num;
}
上述方法虽然简单,但是处理大量数据的转换时速度慢。
- 用C语言中的sprint, sscanf相对较快
char c[10];
int n;
sprintf(c,"%d",n);//将整数转化成字符串
string s=c;
char str[]="15.432";
int i;
float fp;
sscanf(str,"%d",i);//i=15,将字符串转整数
sscanf(str,"%f",fp);//fp=15.432,将字符串转小数
- 一些新的数据库atoi, atof, atol, atoll
char str[]="15.432";
int i;
double db;
db=atof(str.c_str());//db=15.432
i=atoi(str.c_str());//i=15