Dan*_*nny 2 c++ string floating-point
我一直在尝试将一个简单的字符串转换为浮点数,但我没有运气.这就是我现在所拥有的:
int main()
{
float value;
std::string stringNum = "0.5";
std::istringstream(stringNum) >> value;
return 0
}
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误:
Error 2 error C2440: '<function-style-cast>' : cannot convert from 'std::string' to 'std::istringstream' c:\users\administrator\desktop\Test\main.cpp 12
Run Code Online (Sandbox Code Playgroud)
谁能给我一些关于如何简单地将字符串转换为浮点数的指导?
谢谢
您很可能没有包含所有相关标题:
#include <string>
#include <sstream>
Run Code Online (Sandbox Code Playgroud)
这是一个实时示例,显示您的代码在包含适当的标头时进行编译.
通常,您不应该依赖于从另一个标准头文件中间接包含必要的标准头文件(当然,除非在标准本身中记录了这种包含).
另请注意,您正在创建一个临时字符串流,该字符串流将在表达式评估结束时销毁
std::istringstream(stringNum) >> value
Run Code Online (Sandbox Code Playgroud)
您可能希望以这种方式创建流对象:
std::istringstream ss(stringNum);
ss >> value;
// Here you can use ss again...
Run Code Online (Sandbox Code Playgroud)