您的位置:首页 > 编程语言 > C语言/C++

C/C++字符串与数字的相互转化

2016-10-17 09:39 453 查看
数字转字符串:

用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: