【问题标题】:What is c printf %f default precision?c printf %f 默认精度是多少?
【发布时间】:2009-07-30 16:33:43
【问题描述】:

我很好奇:

如果您执行printf("%f", number);,该语句的精度是多少? IE。会显示多少个小数位?这个编译器依赖吗?

【问题讨论】:

  • 这个其实是C标准定义的。我添加了一个标签。

标签: c++ c printf precision


【解决方案1】:

ANSI C 标准在第 7.19.6.1 节中对 f 格式说明符进行了说明:

如果缺少精度,则给出 6 位数字

【讨论】:

    【解决方案2】:

    %f 的默认精度为 6 位(参见 ISO C99 规范,7.19.6.1/7)。

    【讨论】:

      【解决方案3】:

      本书C: A Reference Manual 指出,如果未指定精度,则默认精度为 6(即小数点后 6 位)。

      需要注意的是,如果数字是 inf(即 1.0/0.0)或 NaN,则 C99 指定输出应为 inf、-inf、infinity、-infinity 或 nan 等......

      【讨论】:

        猜你喜欢
        • 2010-10-10
        • 2010-10-10
        • 2016-02-13
        • 2010-10-03
        • 1970-01-01
        • 2019-09-22
        • 2015-08-12
        • 1970-01-01
        • 2016-01-07
        相关资源
        最近更新 更多