std::string转为double
时间: 2024-10-31 14:05:05 浏览: 19
在C++中,将`std::string`类型的字符串转换为`double`类型通常通过`std::stod`函数来实现,它是 `<cctype>` 或 `<cstdlib>` 头文件中的成员函数。这里是一个基本的例子:
```cpp
#include <sstream>
#include <iostream>
double stringToDouble(const std::string& str)
{
double value;
if (std::istringstream iss(str) >> value) { // 尝试解析字符串
return value;
} else {
throw std::invalid_argument("无法将字符串转换为double"); // 如果解析失败抛出异常
}
}
int main()
{
std::string str = "3.14";
try {
double num = stringToDouble(str);
std::cout << "转换后的数字是:" << num << std::endl;
} catch (const std::exception& e) {
std::cerr << "错误: " << e.what() << std::endl;
}
return 0;
}
```
在这个例子中,如果输入的字符串能成功被解析成`double`,那么就返回该数值;否则,会抛出一个异常。
阅读全文