最近发现很多C++的笔试题里都考一些字符串的操作,然后又不直接给字符串,给一些小数或者整数之类的东西(比如保留多少位有效数字或者四舍五入之类等),确实很烦,所以总结了一下数值类型到字符串相互转换的做法:
1、double( int )转string
#include <sstream>
string dou2str(double num) //num也可以是int类型
{
stringstream ss; //stringstream需要sstream头文件
string str;
ss<<num;
ss>>str;
return str;
}
2、string转double可以直接调用cstdlib里面的atof函数;
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
string s = "123"; //这里的123是字符串
double num = atof(s); //这里的num是数字123
cout<<num+1<<endl; //输出124 = 123+1
return 0;
}
3、string转int和double类似,调用atoi函数即可;
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
string s = "123"; //这里的123是字符串
int num = atoi(s); //这里的num是数字123
cout<<num+1<<endl; //输出124 = 123+1
return 0;
}
以上是内容仅代表个人看法,自己用起来感觉还算方便吧!有更好的方法还请大神多多指教,共同进步!