gpt4 book ai didi

linux - 在不使用 "bc"的情况下计算 Shell 脚本中的舍入百分比

转载 作者:IT王子 更新时间:2023-10-29 00:23:20 26 4
gpt4 key购买 nike

我正在尝试计算 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 主义):

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

关于linux - 在不使用 "bc"的情况下计算 Shell 脚本中的舍入百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24284460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com