std::string转数字
时间: 2023-12-13 18:32:48 浏览: 138
可以使用`std::stoi`、`std::stol`、`std::stoll`、`std::stof`、`std::stod`、`std::stold`等函数将`std::string`类型的字符串转换为数字类型。其中,`std::stoi`、`std::stol`、`std::stoll`分别用于将字符串转换为int、long、long long类型的数字,`std::stof`、`std::stod`、`std::stold`分别用于将字符串转换为float、double、long double类型的数字。这些函数都在头文件`<string>`中定义。
另外,也可以使用`std::stringstream`将`std::string`类型的字符串转换为数字类型。具体实现可以参考下面的代码:
```c++
#include <iostream>
#include <string>
#include <sstream>
template<typename out_type, typename in_value>
out_type convert(const in_value & t){
std::stringstream stream;
stream << t;
out_type result;
stream >> result;
return result;
}
int main() {
std::string str = "123";
int num1 = std::stoi(str);
long num2 = std::stol(str);
float num3 = std::stof(str);
double num4 = std::stod(str);
std::cout << num1 << " " << num2 << " " << num3 << " " << num4 << std::endl;
double num5 = convert<double>(str);
std::cout << num5 << std::endl;
return 0;
}
```
阅读全文