如何在 Perl 中以最小宽度格式舍入和打印浮点数

How can I round and print a floating point number in a minimum width format in Perl

我想做这样的事情:

printf('%3.3f%% ', $percent);

但我得到的输出仍然是:

99.999%
100.000%

我想要这样的东西:

 99.999%
100.000%

所以它用空格填充小于整个宽度。什么格式说明符可以完成我想要做的事情?

之前的数字代表全场宽度的最小值,所以你需要7来允许三个小数点前后的数字,小数点本身多一位:

printf "%7.3f%%\n", $_ for 99.999, 100;

输出

 99.999%
100.000%