string to int to double and int double to string

来源:互联网 发布:刷会员的软件 编辑:程序博客网 时间:2024/05/01 09:22

c/c++

int StringToInt(std::string str){    int value = 0;    int result = sscanf_s(str.c_str(), "%d", &value);    assert(EOF!=result);    return value;}
double StringToDouble(std::string str){    double value = 0;    int result = sscanf_s(str.c_str(), "%lf", &value);    assert(EOF!=result);    return value;}
std::string IntToString(int iValue){    char buffer[256]={0};    sprintf_s(buffer,"%d",iValue);    std::string s(buffer);    return s;}
std::string DoubleToString(double dValue){    char buffer[256]={0};    sprintf_s(buffer,"%lf",dValue);    std::string s(buffer);    return s;}
//任意类型转换template <class output_type,class input_type>output_type Convert(const input_type &input){    stringstream ss;    ss<<input;    output_type result;    ss>>result;    return result;}例如:float n = 22.22;string strNum = "22.22";float f = Convert<float>(strNum);cout<<f<<endl;string ss = Convert<string>(n);cout<<ss<<endl;输出: 22.22 22.22
//c++中 split实现vector<string> &split(const string &s, char delim, vector<string> &elems) {    stringstream ss(s);    string item;    while (getline(ss, item, delim)) {        elems.push_back(item);    }    return elems;}

16进制与10进制互转
int HexStringToInt(string str){    int value = 0;    int result = sscanf_s(str.c_str(), "%x", &value);    assert(EOF != result);    return value;}
string IntToHexString(int iValue){    char buffer[256] = { 0 };    sprintf_s(buffer, "%x", iValue);    string s(buffer);    return s;}
    int value = HexStringToInt("0x11");    cout << value << endl;    //17    string str = IntToHexString(11);    cout << str << endl;    //b
原创粉丝点击