gpt4 book ai didi

C++ 将 lexical_cast double boost 为字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:19:08 26 4
gpt4 key购买 nike

对于下面的一段代码

std::cout<<boost::lexical_cast<std::string>(2.34)<<std::endl

我得到以下输出:

2.3399999999999999

如果我这样做

 double d = 2.34;
std::stringstream ss;
ss<<d;
std::string s = ss.str();
cout<<s<<endl;

我得到以下输出:

 2.34

为什么会这样?显然,我正在寻找后者的输出表示,而不是前者。

谢谢,

最佳答案

这与 boost::lexical_cast 无关,但它伴随着 double 的内部表示:

另请参阅此答案: C++ internal representation of double/float

关于C++ 将 lexical_cast double boost 为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11663328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com