【问题标题】:Is there a way of control the wide and precision of a float in the printf() function in C?有没有办法控制 C 中 printf() 函数中浮点数的宽度和精度?
【发布时间】:2018-02-16 14:50:30
【问题描述】:

如何控制宽度(width)和精度,例如使用两个整数 int aint b 我可以在代码中之前为其分配一个值?

printf("%a.bf\n", floatVariable);

【问题讨论】:

    标签: c floating-point printf precision


    【解决方案1】:

    可以使用符号* 代替数值:

    printf("%*.*f\n", a, b, floatVariable);
    

    格式字符串中需要数值的每个* 都会导致从参数列表中使用int 参数并将其用作数值。

    请注意,就像floatVariable 必须是doublefloat 类型,如果您将其传递给%f,则变量ab 必须类型为 int 以使此表示法起作用。如果不是,您必须使用:

    printf("%*.*f\n", (int)a, (int)b, floatVariable);
    

    【讨论】:

    • 为什么这没有更多的选票?这是这个问题的完美答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    相关资源
    最近更新 更多