جمعه ۲۵ مرداد ۱۳۹۲ ارسال شده توسط prodo
یک راه استفاده از تابع (غیراستاندارد) `atof` هست
string s = "1.23";
double d;
d = atof(s.c_str());
یک روش هم استفاده از روش استاندارد `C++` هست
string s = "5.23";
double d;
d = stof(s.c_str());
استفاده از `stringstream`
#include
string s = "3.43";
double d;
std::stringstream ss(s);
s>>d;
استفاده از `sprintf`
string s = "3.45";
double d;
d = sscanf(s.c_str(), "%d", &d);
استفاده از `boost`
#include
string s = "3.45";
double d;
d = boost::lexical_cast(s);
جمعه ۲۵ مرداد ۱۳۹۲ ویرایش شده توسط prodo
یک راه استفاده از تابع (غیراستاندارد) `atof` هست
string s = "1.23";
double d;
d = atof(s.c_str());
یک روش هم استفاده از روش استاندارد `C++` هست
string s = "5.23";
double d;
d = stof(s.c_str());
استفاده از `stringstream`
#include <sstream>
string s = "3.43";
double d;
std::stringstream ss(s);
s>>d;
استفاده از `sprintf`
string s = "3.45";
double d;
d = `sscanf`
string s = "3.45";
double d;
sscanf(s.c_str(), "%d", &d);
استفاده از `boost`
#include <boost/lexical_cast.h>
string s = "3.45";
double d;
d = boost::lexical_cast<double>(s);