C++中int、double、float。string等常見型別轉換
阿新 • • 發佈:2019-01-31
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
string 型轉 doublevoid double2str(double &double_temp,string &string_temp) { stringstream stream; stream<<double_temp; string_temp=stream.str(); }
void str2double(double &double_temp,string &string_temp)
{
stringstream stream;
stream<<string_temp;
stream>>double_temp;
}
string型轉int型
只需要一個函式既可以搞定,atoi()函式主要是為了和C語言相容而設計的,函式中將string型別轉換為C語言的char陣列型別作為atoi函式的實參,轉化後是int型。void str2int(int &int_temp,const string &string_temp) { stringstream stream(string_temp); stream>>int_temp; }
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;