1、各种类型之间的相互转换的互相转换
int型转string
void int2str(const int &int_temp,string &string_temp) { stringstream stream; stream<<int_temp; string_temp=stream.str(); //此处也可以用 stream>>string_temp }double 型转string
void double2str(double &double_temp,string &string_temp) { stringstream stream; stream<<double_temp; string_temp=stream.str(); }string 型转 double
void str2double(double &double_temp,string &string_temp) { stringstream stream; stream<<string_temp; stream>>double_temp; }
string型转int型
void str2int(int &int_temp,const string &string_temp) { stringstream stream(string_temp); stream>>int_temp; }只需要一个函数既可以搞定,atoi()函数主要是为了和C语言兼容而设计的,函数中将string类型转换为C语言的char数组类型作为atoi函数的实参,转化后是int型。
int
n;
char
*str =
"12345.67"
;
n =
atoi
(str);
float型与string型的转换
建议同样适用流的方法,只要把前面函数中int改为float就可以了。此外还有gcvt函数可以实现浮点数到字符串的转换,atof()函数则实现把字符串转换为浮点数。使用方法如下:
- float num;
- string str="123.456";
- num=atof(str.c_str());
- double num=123.456;
- string str;
- char ctr[10];
- gcvt(num,6,ctr);
- str=ctr;