stoi stod函数
时间: 2023-10-13 10:54:56 浏览: 149
`std::stoi`和`std::stod`是C++中的两个函数,用于将字符串转换为整数和浮点数。
1. `std::stoi`函数用于将字符串转换为整数。它的函数原型如下:
```cpp
int stoi (const string& str, size_t* idx = 0, int base = 10);
```
- `str`是要转换的字符串。
- `idx`是一个可选的指针参数,用于存储转换结束后的字符索引。
- `base`是可选的进制参数,默认为10。
示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "12345";
int num = std::stoi(str);
std::cout << num << std::endl; // 输出:12345
return 0;
}
```
2. `std::stod`函数用于将字符串转换为双精度浮点数。它的函数原型如下:
```cpp
double stod (const string& str, size_t* idx = 0);
```
- `str`是要转换的字符串。
- `idx`是一个可选的指针参数,用于存储转换结束后的字符索引。
示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "3.14159";
double num = std::stod(str);
std::cout << num << std::endl; // 输出:3.14159
return 0;
}
```
这两个函数都可以将合法的字符串表示形式转换为对应的整数或浮点数。如果字符串无法转换成有效的数字,这些函数会抛出`std::invalid_argument`异常或`std::out_of_range`异常。因此,在使用这些函数时,需要确保输入的字符串是有效的数字表示形式。
阅读全文