#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int toInt(string s) {
stringstream ss(s);
int a;
ss >> a;
return a;
}
double toDouble(string s) {
stringstream ss(s);
double a;
ss >> a;
return a;
}
string toString(int a) {
string res;
stringstream ss;
ss << a;
res = ss.str();
return res;
}
string toString(double a) {
string res;
stringstream ss;
ss << a;
res = ss.str();
return res;
}
int main() {
cout << toInt("123") << endl;
cout << toDouble("123.45") << endl;
cout << toString(123) << endl;
cout << toString(123.44) <<endl;
}
atoi itoa 在OJ里面 无法识别。 舍弃, 用上面的sstream
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
using namespace std;
// itoa 竟然在algorithm里面,可以不在 cstdio
string toString(int a) {
char temp[101];
itoa(a,temp,10); // int 、 char[] 、进制
string s(temp);
return s;
}
// a指的是string char数组
int toInt(string s) {
int res = atoi(s.c_str()); // 相当于char数组
return res;
}
double toDouble(string s) {
double res = atof(s.c_str()); // 相当于char数组
return res;
}
int main() {
int i;
double d;
string s;
s = toString(123);
cout << s << endl;
s = toString(511.11);
cout << s << endl;
i = toInt("123");
cout << i << endl;
}