These functions are quite common. Record them here and you don't need to write them again later.
#include <iostream>#include <string>#include <cstdio>#include <cstring>#include <sstream>using namespace std;class CommonTool{public:static int CoverStringToInt(const string &value);static string CoverIntToString(int value);static double CoverStringToDouble(const string &value);static string CoverDoubleToString(double value);};int CommonTool::CoverStringToInt(const string &value){if( value.empty() )return 0;return atoi( value.c_str() );}double CommonTool::CoverStringToDouble(const string &value){if( value.empty() )return 0;return atof( value.c_str() );}string CommonTool::CoverIntToString(int value){ostringstream oss;oss << value;return oss.str();}string CommonTool::CoverDoubleToString(double value){ostringstream oss;oss << value;return oss.str();}int main(){string ss;int ii;double dd;ii = CommonTool::CoverStringToInt("654");printf("ii: %d\n", ii);dd = CommonTool::CoverStringToDouble("34.1234");printf("dd: %lf\n", dd);ss = CommonTool::CoverIntToString(ii);printf("si: %s\n", ss.c_str());ss = CommonTool::CoverDoubleToString(dd);printf("si: %s\n", ss.c_str());return 0;}