1、数字转换成字符串
1、采用to_string() 函数
std::string to_string(int value);
std::string to_string(long value);
std::string to_string(long long value);
std::string to_string(unsigned value);
std::string to_string(unsigned long value);
std::string to_string(unsigned long long value);
std::string to_string(float value);
std::string to_string(double value);
std::string to_string(long double value);
#include <iostream>
#include <string>
using namespace std;
int main()
{
int a = 100;
string s;
s = to_string(a);
cout << s << endl;
return 0;
}
2、采用C++中的sstream类
#include <sstream>
#include <string>
string num2string(int num)
{
stringstream ss;
ss << num;
return ss.str();
}
3、采用c语言中的sprintf()函数
char *num2cstr(int num)
{
char *str = (char *)malloc(10*sizeof(char));
sprintf(str, "%d", num);
return str;
}
2、字符串转换为数字
1、采用c_str() + atoi() 的方法
#include <string>
int string2num(string s)
{
return atoi(s.c_str());
}
2、采用sstream类
#include <sstream>
#include <string>
int string2num(string s)
{
int num;
stringstream ss(s);
ss >> num;
return num;
}
3、采用sscanf()函数的方法
int cstr2num(char *str)
{
int num;
sscanf(str, "%d", &num);
return num;
}
4、采用stoi()函数
std::stoi()
std::stol()
std::stoll()
int stoi (const string& str, size_t* idx = 0, int base = 10)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s("1234");
int num = stoi(s);
cout << num << endl;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s("1234adba");
size_t idx;
int num = stoi(s, &idx);
cout << "idx: " << idx << endl;
cout << "num: " << num << endl;
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)