在使用C++编程时我们往往希望将string类型转换成int类型进行加减操作,或者希望将int类型转换成string类型进行大数运算,在操作中直接使用ASCII码操作会很麻烦。当然在Python中这种操作会很简单,一行强制类型转换就好了,但是C++中不行。
下面介绍sstream进行类型互换:
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include<iostream> #include<string> #include<sstream> using namespace std; string convert2Str(double x) { ostringstream o; if(o << x) return o.str(); return "Error"; } double convertFromStr(const string &s) { istringstream i(s); double x; if(i >> x) return x; return 0.0; } int main() { string cc=convert2Str(2022); cout<<cc<<endl; string dd="2018"; int p =convertFromStr(dd)+2; cout<<p<<endl; } |