C++实现字符串与数值转换

利用stringstream即可

#include <string>
#include <sstream>

template <typename _Ty>
std::string toString(const _Ty& value) {
    std::ostringstream os;
    os << value;
    return os.str();
}

template <typename _Ty>
_Ty fromString(const std::string& str) {
    std::istringstream is(str);
    _Ty ret;
    is >> ret;
    return ret;
}

template <typename Des, typename Src>
Des convert_cast(const Src& src) {
    std::stringstream ss;
    ss << src;

    Des des;
    ss >> des;

    return des;
}

使用方式如下:

std::cout << convert_cast<std::string>(123) << "\n";
std::cout << convert_cast<int>("123") << "\n";
std::cout << toString(123) << '\n';
std::cout << fromString<int>("123") << '\n';
相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页