我正在尝试计算Shell脚本中某些项目的百分比.我想把这个值四舍五入,也就是说,如果结果是59.5,我应该期望60而不是59.
item=30
total=70
percent=$((100*$item/$total))
echo $percent
这给了42.
但实际上,结果是42.8,我想把它四舍五入到43.
“bc”可以解决问题,有没有办法不使用“bc”?
我无权安装任何新软件包.我的系统中没有“dc”和“bc”.
它应该是纯粹的Shell,也不能使用perl或python脚本
解决方法:
使用AWK(没有bash-isms):
item=30
total=70
percent=$(awk "BEGIN { pc=100*${item}/${total}; i=int(pc); print (pc-i<0.5)?i:i+1 }")
echo $percent
43