如何在C ++中将字符串值转换为双重格式?
答案 0 :(得分:10)
如果您正在使用增强库,lexical cast是一种非常流畅的方式。
答案 1 :(得分:4)
使用stringstream
:
#include <sstream>
stringstream ss;
ss << "12.34";
double d = 0.0;
ss >> d;
答案 2 :(得分:2)
你可以使用stringstream。 您还可以捕获无效输入,例如给出非数字并要求它转换为int。
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
stringstream s;
string input;
cout<<"Enter number: "<<endl;
cin>>input;
s.str(input);
int i;
if(s>>i)
cout<<i<<endl;
else
cout<<"Invalid input: Couldn't convert to Int"<<endl;
}
如果转换失败,s>>i
将返回零,因此会输出无效输入。