我在网上找到了这段代码作为对字符串进行浮点/整数/双精度转换的模板。它只是在这里,所以我有一些东西可以参考这个问题......
我想让用户输入一个数字作为字符串,将其转换为浮点数,测试它是否成功,如果输入为“Q”则退出,如果不是“Q”字符则打印“无效输入”和返回以获得更多输入。
转换失败测试的语法是什么?会是 ss.fail() 吗?
// using stringstream constructors.
#include <iostream>
#include <sstream>
using namespace std;
int main () {
int val;
stringstream ss (stringstream::in | stringstream::out);
ss << "120 42 377 6 5 2000";
/* Would I insert an
if(ss.fail())
{
// Deal with conversion error }
}
in here?! */
for (int n=0; n<6; n++)
{
ss >> val;
cout << val*2 << endl;
}
return 0;
}