【问题标题】:How to print long double ( full length ) C++ [duplicate]如何打印长双(全长)C++ [重复]
【发布时间】:2013-06-18 17:20:19
【问题描述】:

我有一个很长的双精度数,我想使用 cout 打印它的所有数字(没有科学计数法的完整数字)。

这是代码:-

long double d = 3456489465498484.14159265358979;
cout << "Num: " <<  d << endl;

输出:-

Num: 3.45649e+015

虽然我希望输出是

Num: 3456489465498484.14159265358979;

我尝试了精度并设置精度,但似乎并没有以这种方式工作。请帮忙

【问题讨论】:

标签: c++ long-integer cout iomanip


【解决方案1】:

浮点值的内部表示通常是二进制的,因此初始化它需要从十进制转换为二进制,显示它需要从二进制转换为十进制。大多数十进制分数没有精确的二进制表示,并且大多数二进制分数没有精确的十进制表示,所以一般来说,要求“所有”数字是没有意义的。您在进入的过程中丢失了一些数字,并且在退出的过程中会丢失更多。确定您想要的数量,并设置要匹配的精度。

【讨论】:

    猜你喜欢
    • 2016-06-12
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多