Dan*_*ray 1 perl string-formatting
我想做的事情如下:
printf('%3.3f%% ', $percent);
Run Code Online (Sandbox Code Playgroud)
但我仍然得到输出:
99.999%
100.000%
Run Code Online (Sandbox Code Playgroud)
我想要像:
99.999%
100.000%
Run Code Online (Sandbox Code Playgroud)
所以它的填充空间小于整个宽度.什么格式说明符可以完成我想要做的事情?
点之前的数字表示整个字段宽度的最小值,因此您需要7在其中以允许小数点前后的三位数,并且还需要一个点本身:
printf "%7.3f%%\n", $_ for 99.999, 100;
Run Code Online (Sandbox Code Playgroud)
产量
99.999%
100.000%
Run Code Online (Sandbox Code Playgroud)