使用exprtk数学解析器库,我正在尝试做DoubleToString和StringToDouble

时间:2018-07-19 13:03:46

标签: c++ visual-studio ddmathparser exprtk

template <typename T>
struct DoubleToStr : public exprtk::igeneric_function<T>
{
    typedef exprtk::igeneric_function<T> igenfunct_t;
    typedef typename igenfunct_t::generic_type generic_t;
    typedef typename igenfunct_t::parameter_list_t parameter_list_t;
    typedef typename generic_t::string_view string_t;
    typedef typename generic_t::scalar_view scalar_t;

    DoubleToStr()
        : exprtk::igeneric_function<T>("T", igenfunct_t::e_rtrn_string)
    {}

    inline T operator()(std::string& result,
        parameter_list_t parameters)
    {
        result.clear();
        /*string_t string(parameters[0]);*/
        /*result = static_cast<std::size_t>(scalar_t(parameters[0])());*/
        scalar_t myval(parameters[0]);
        result = myval;

        return T(0);
    }
};

我可以在myval(parameters[0])中看到标量值。
我的问题是:如何将其分配给std::string结果?还是有其他建议您建议我使用的逻辑?

0 个答案:

没有答案