C++中将字符串转换成数字的函数
时间: 2024-10-13 19:08:09 浏览: 29
C++转UTF8编码.txt
4星 · 用户满意度95%
在C++中,有几种内置函数和库可以将字符串转换成数字。以下是常见的几种方法:
1. **`std::stoi` 和 `std::stol`**:这两个函数用于将字符串转换为整数(`int`),前者处理十进制(`std::stoi`),后者处理十六进制(`std::stoll`)。例如:
```cpp
std::string str = "123";
int num = std::stoi(str);
```
2. **`std::stod` and `std::stof`**:用于将字符串转换为双精度浮点数(`double`),前者处理十进制(`std::stod`),后者处理小数(`std::stof`):
```cpp
std::string str = "3.14";
double decimal_num = std::stod(str);
```
3. **`std::stringstream`**:如果需要更灵活的输入控制,你可以使用`std::stringstream`配合`std::getline`来逐个读取字符并转换:
```cpp
std::string str = "123.45";
std::istringstream iss(str);
double num;
iss >> num;
```
请注意,在转换前,确保字符串表示的是有效的数字格式,否则这些函数会抛出异常。如果你不确定,可以先检查字符串内容。
阅读全文