c++ - 如何使用cout以全精度打印 double 值?

标签 c++ floating-point precision iostream cout

因此,我已经得到了last question的答案(我不知道为什么我没有想到这一点)。我正在使用double打印cout,当我不期望它时会四舍五入。如何使cout以全精度打印double

最佳答案

您可以直接在std::cout上设置精度,并使用 std::fixed 格式说明符。

double d = 3.14159265358979;
cout.precision(17);
cout << "Pi: " << fixed << d << endl;

您可以#include <limits>来获得float或double的最大精度。
#include <limits>

typedef std::numeric_limits< double > dbl;

double d = 3.14159265358979;
cout.precision(dbl::max_digits10);
cout << "Pi: " << d << endl;

关于c++ - 如何使用cout以全精度打印 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60561723/

相关文章:

c++ - 在 Linux 下执行外部命令并等待它完成

c++ - 如何重载 operator< 以将对象放入集合中

c - C99 fesetround()/fegetround() 状态是按线程还是按进程?

math - float 学有问题吗?

c++ - 想要获取perl在c、cpp或.h的多个文件中定义的函数名称

c++ - 从尝试引用已删除函数的 vector C++ 中删除对象

c++ - if 语句中有 float 的奇怪错误

c++ - 像这样声明浮点常量有什么特别的理由吗? (C 和 C++)

javascript - 精度和大数

电子表格计算(至少)具有 C double 的准确性