C/C++字串與數字的相互轉化
阿新 • • 發佈:2019-02-15
- 數字轉字串:
用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