C++ string转double
时间: 2024-09-16 20:03:57 浏览: 40
在C++中,你可以使用`std::stod()`函数将字符串转换为双精度浮点数(double)。这个函数位于头文件`<string>`中。基本的用法如下:
```cpp
#include <string>
#include <iostream>
double string_to_double(const std::string& str) {
double result;
if (std::istringstream(str) >> result) {
return result;
} else {
// 处理转换失败的情况,如非数字字符串
throw std::invalid_argument("Invalid input, not a valid number.");
}
}
int main() {
std::string str = "3.14";
try {
double num = string_to_double(str);
std::cout << "Double from string: " << num << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
在这个例子中,`std::istringstream`是一个内置流对象,用于读取输入流,如果字符串可以成功解析为数字,则转换成功。
阅读全文