c++ string 数字转c++数字
时间: 2024-09-08 18:03:43 浏览: 84
在C++中,将字符串(`std::string`类型)转换为数字,通常涉及到标准库中的函数`std::stoi`、`std::stol`、`std::stoll`、`std::stof`、`std::stod`和`std::stold`等,这些函数可以将字符串转换为整数或浮点数。转换时需要注意字符串的格式是否正确,以及可能出现的异常。
例如,将`std::string`转换为整数:
```cpp
#include <string>
#include <iostream>
int main() {
std::string str = "123";
int num = std::stoi(str); // 将字符串转换为int类型
std::cout << "转换后的数字是: " << num << std::endl;
return 0;
}
```
转换为长整型:
```cpp
long num = std::stol(str); // 将字符串转换为long类型
```
转换为浮点数:
```cpp
std::string str = "123.456";
double num = std::stod(str); // 将字符串转换为double类型
```
转换为长双精度浮点数:
```cpp
long double num = std::stold(str); // 将字符串转换为long double类型
```
在使用这些转换函数时,还可以指定基数(radix),用于解析字符串中的数字。此外,如果字符串不能被转换为数字,这些函数会抛出一个`std::invalid_argument`或`std::out_of_range`异常,因此在实际应用中可能需要添加异常处理来确保程序的健壮性。
阅读全文