我计算了一些浮点数,我得到了一个像509990e-405
这样的数字。我假设这是短版本;我怎么能cout
这是一个完整的数字?
cout << NASATotal << endl;
就是我现在拥有的。
答案 0 :(得分:4)
您可以强制输出不是科学记数法,并且具有足够的精度来显示您的小数字。
#include <iomanip>
// ...
long double d = 509990e-405L;
std::cout << std::fixed << std::setprecision(410) << d << std::endl;
输出:
0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050999000000
如果你真的想要,这是另一个问题。
答案 1 :(得分:1)
您可以编写自己的BigNumber类,将结果存储为字符串。你必须实现所有的数字操作,我猜测性能将是一个问题。但它可以做到,没问题 - 假设这就是你想要的。