C++ string转int string转double int转string

#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;
}
发布了86 篇原创文章 · 获赞 0 · 访问量 3652

猜你喜欢

转载自blog.csdn.net/bijingrui/article/details/104521695