有时我们需要将输入的一串字符改成它所含的意义的整数形式,浮点数形式。通常这种情况下我们会自己写一个函数然后遍历加判断再输出,太过麻烦。可是其实本来是有类似的函数存在的。
std::stoi;
std::stol;
std::stoll;
相关的具体情况请进入这里:http://www.cplusplus.com/reference/string/stoll;
这个的话3个函数分别是转化为int,long int ,long long int;
具体用法如下;
#include<iostream>
#include<string>
#include<cstring>
int main()
{
std::ios::sync_with_stdio(false);
std::string m;
std::cin >> m;
long long int t = std::stol(m);
std::cout << t << std::endl;
return 0;
}
还有就是浮点数的;
std::stof;
std::stod;
std::stold;
分别代表着转化为float,double ,long double;
#include<iostream>
#include<string>
#include<cstring>
int main()
{
std::ios::sync_with_stdio(false);
std::string m;
std::cin >> m;
double t = std::stod(m);
std::cout << t << std::endl;
return 0;
}
最后就是将一个浮点型,整形转化为字符串形式;
#include<iostream>
#include<string>
#include<cstring>
int main()
{
std::ios::sync_with_stdio(false);
double m;
std::cin >> m;
std::string t = std::to_string(m);
std::cout << t << std::endl;
return 0;
}