如何在C ++中将std :: decimal :: decimal128转换为字符串

时间:2017-07-08 20:08:41

标签: c++ string decimal

我想在C ++中将std::decimal::decimal128转换为string。我试过这个:

int main(int argc, char** argv) {
    std::decimal::decimal128 check1(0.1654689875468);
    string ee;  
    ee=std::to_string(check1);

    return 0;
}

但它会出错。我尝试了很多方法,但没有人工作。有人有想法吗?提前致谢。

1 个答案:

答案 0 :(得分:1)

我通过创建以下功能解决了这个问题:

 std::string ToString(std::decimal::decimal128 dec)
{
    long double d(std::decimal::decimal128_to_double(dec));
    std::ostringstream oss;
    oss << std::scientific << std::setprecision(37) << d;
    return oss.str();
}

稍后我可以随时使用它:

string name= ToString(std::decimal::decimal128_to_double(1.3246546787));

感谢大家的帮助。