0

我想写

printf("%0.2lf 和 %0.2lf", 解决方案1, 解决方案2);

不是 2 位小数,我可以使用一个变量 numberOfDecimalPlaces。

我怎样才能做到这一点?提前致谢!

4

1 回答 1

1

查看printf的手册页。

printf("%0.*lf and %0.*lf", numberOfDecimalPlaces, solution1, numberOfDecimalPlaces, solution2);

在其中一节中,它讨论了可变宽度字段。

场宽

一个可选的十进制数字字符串(第一个数字非零),指定最小字段宽度。如果转换后的值的字符少于字段宽度,它将在左侧(或右侧,如果已给出左调整标志)填充空格。而不是十进制数字字符串,可以写“*”或“*m$”(对于一些十进制整数 m)来指定字段宽度分别在下一个参数或第 m 个参数中给出,这必须是 int 类型。负字段宽度被视为“-”标志,后跟正字段宽度。在任何情况下,不存在或较小的字段宽度都不会导致字段截断;如果转换结果比字段宽度宽,则扩展字段以包含转换结果。

于 2013-05-12T01:06:26.220 回答