首页 > 解决方案 > 为什么 std::cout 打印非常小的科学记数法值而不是四舍五入为零?

问题描述

如何让 std::cout 将一个非常小的双精度值舍入为零,而不是打印如下值:

6.94532807444049e-310

或者

6.95321306220521e-310

我注意到许多这些过长的科学记数法也可能是零似乎有 e-310

标签: c++floating-pointiostreamscientific-notation

解决方案


有多种方法可以对数字进行四舍五入。如果你想要最接近的整数,你应该只使用 int。

另一种方法是使用标头#include iomanip 并使用'setprecision(2)' 来设置宽度。


推荐阅读