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

标签 c++ floating-point precision iostream cout

在我的earlier question我正在使用 cout 打印一个 double ,当我没想到它时它会被四舍五入。如何让 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/554063/

相关文章:

c++ - 如何打印与特定值对应的元素的总和?

java - 尝试在整数后添加字符然后打印结果时出现奇怪的结果

mysql浮点存储大小?

c - 以 18 位以上的精度将 CSV 读入 C 中的网格

math - float 学坏了吗?

c - C/C++中sqrt函数的保证精度

c++ - QThreadPool调用父类QRunnable的纯虚函数

C++:将容器转换为不同但兼容类型的容器

c++ - 正则表达式不显示 IPv6 匹配的正确结果

math - float 学有问题吗?