繁体   English   中英

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

[英]How to convert a std::decimal::decimal128 to string in C++

我想将std::decimal::decimal128转换为C ++中的string 我已经试过了:

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

    return 0;
}

但它提供了一个错误。 我已经尝试了很多方法,但是没有人起作用。 有人有主意吗? 提前致谢。

我已经通过创建以下函数解决了该问题:

 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));

谢谢大家的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM