在 cout 中将数字十进制格式显示为指数

Display a number decimal format instead as an exponential in cout

本文关键字:格式 显示 指数 十进制 数字 cout      更新时间:2023-10-16

我计算了浮点数的总数,得到了一个像509990e-405这样的数字。我假设这是简短的版本;我怎样才能将其cout为完整数字?

   cout << NASATotal << endl;

是我现在拥有的。

您可以强制输出不是科学记数法,并具有足够的精度来显示您的小数字。

#include <iomanip>
// ...
long double d = 509990e-405L;
std::cout << std::fixed << std::setprecision(410) << d << std::endl;

输出:

0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

如果你真的想要这是另一个问题。

您可以编写自己的 BigNumber 类,将结果存储为字符串。您必须实现所有数值运算,我猜性能将是一个问题。但它是可以做到的,没问题——假设这就是你想要的。