在C语言的printf()函数中,有没有一种控制浮点数宽度和精度的方法?

3
如何控制宽度(width)和精度,例如使用两个整数int aint b来赋值?
(译注:此处需要进一步的上下文才能确定具体的翻译)
printf("%a.bf\n", floatVariable);
1个回答

4
符号*可以用来代替数值:
printf("%*.*f\n", a, b, floatVariable);

格式字符串中每个 *,在期望有数值的位置会导致从参数列表中消耗一个 int 参数并将其用作数值。

请注意,就像传递给 %f 进行打印的 floatVariable 必须是类型为 doublefloat,如果要使用此符号表示法,则变量 ab 必须int 类型。如果不是,您必须使用:

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

为什么这个回答没有更多的投票?它是这个问题的完美答案。 - Bathsheba

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接