c++ - 在输出的 7 个字符处双截断

标签 c++

double fat = 0.2654654645486684646846865584656566554566556564654654899866223625564668186456564564664564;
cout<<fat<<endl;

结果:

0.265465

是否应该再长 7 个字符?我以为一个双人可以容纳更多?

我也得到了“long double”的相同结果。

最佳答案

您只是看到 iostream 使用的默认精度。

要改善事物,请使用 std::setprecision() .

const int max_digits = std::numeric_limits<double>::digits10;

std::cout << std::setprecision(max_digits) << fat << std::endl;

关于c++ - 在输出的 7 个字符处双截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10996899/

相关文章:

c++ - SSL3_READ_BYTES :tlsv1 alert internal error, 安全套接字,OpenSSL,C++,获取 HTTPS 页面

c++ - 确定圆弧中点的算法

C++ 和 box2d : userdata cast int to void*

c++ - 我不明白我为这个程序得到的输出。

C++ [[gnu::visibility ("default")]] 与 Windows 和 Linux 上的 __declspec(dllexport)

c++ - 如何判断按下的是哪个 Alt 键

c++ - 为什么我的随机字符串生成器生成的字符串太短?

c++ - GLSL Sphere - 射线相交几何解决方案

c++ - 这个声明是什么意思? "ret += (sx+ey)%2 ? 3 : 1, sx++;"

C++ 对象可见性