【问题标题】:How do I display more decimals in the output console? [duplicate]如何在输出控制台中显示更多小数? [复制]
【发布时间】:2010-11-16 22:20:01
【问题描述】:

我想以全精度输出双精度值。但是,当使用 cout 函数时,即使有大约 15-16 位的精度,它也只显示前 6 位。

如何让我的程序显示整个值,包括幅度(功率)分量?

【问题讨论】:

    标签: c++ console


    【解决方案1】:

    使用setprecision() 操纵器:

    http://www.cplusplus.com/reference/iostream/manipulators/setprecision/

    您还可以使用scientific 操纵器强制使用科学记数法:

    http://www.cplusplus.com/reference/iostream/manipulators/scientific/

    cout << scientific << setprecision(15) << my_number << endl;
    

    【讨论】:

      【解决方案2】:

      你可以使用这样的东西:

      #include <iomanip>
      
      cout << setprecision (9) << double_value << endl;
      

      更多 iomanipulators,here

      【讨论】:

      • 如果您希望它完全精确怎么办。但显然将诸如 7.3333333 之类的数字转换为 7.33
      • 不等同于 printf 的 %g 格式。而且这种格式并没有给你一些其他语言给出的东西:读回原始数字的最短字符串。
      【解决方案3】:

      您正在寻找setprecision(代码取自链接):

      int main () {
        double f =3.14159;
        cout << setprecision(15) << f << endl;
        return 0;
      }
      

      【讨论】:

      • 万一你在下面错过了,如果你愿意,你也可以使用科学 io-manipulator 来强制科学记数法。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2021-09-12
      • 2022-07-06
      相关资源
      最近更新 更多