C++string字符串转double
时间: 2024-10-12 21:13:45 浏览: 37
c++中double与string相互转换算法
在C++中,你可以使用`stod()`函数或者`std::stod()`函数来将字符串转换成`double`类型。这两个函数都是标准库中的成员,分别位于`cstdlib`头文件和`<string>`头文件中。以下是基本的用法:
```cpp
#include <iostream>
#include <string>
#include <cstdlib> // 包含stod函数
double str_to_double(const std::string& str) {
try {
return std::stod(str);
} catch (const std::invalid_argument& e) {
std::cerr << "Error converting string to double: " << e.what() << std::endl;
return NaN; // 或者抛出异常处理错误情况
} catch (const std::runtime_error& e) {
std::cerr << "Error converting string to double: " << e.what() << std::endl;
return NaN; // 或者抛出异常处理错误情况
}
}
int main() {
std::string str = "3.14";
double num = str_to_double(str);
std::cout << "Converted value: " << num << std::endl;
return 0;
}
```
这里注意,如果字符串不能转换为有效的`double`,`stod()`会抛出`invalid_argument`或`runtime_error`异常。你可以捕获这些异常并在适当的上下文内处理它们。
阅读全文