简单的问题,我无法弄清楚...
如何在printf
字符串中打印 '%' 字符?下面的代码会打印它,但也会给出“无效转换”错误。
printf "\t\t".$hour."00 HRS\t=>\t%.2f\t%.2f\t%.1f\%\n", $total, $max15, ($max15/$total*100);
应该输出如下内容:
0000 HRS => 3125.19 898.02 28.7%
您将使用 %%,而不是 \%(来自 man printf)
而不是 \% 使用 %% :)
%% 为单个 %
事后看来,有一个粗略的替代方案可以做同样的事情。
将 '%' 符号打印为字符串:
printf "\t\t".$hour."00 HRS\t=>\t%.2f\t%.2f\t%.1f%s\n", $total, $max15, ($max15/$total*100), "%";
使用 %% 打印单个 %
printf "\t\t".$hour."00 HRS\t=>\t%.2f\t%.2f\t%.1f%%\n", $total, $max15, ($max15/$total*100);