gpt4 book ai didi

linux - shell脚本中的算术运算

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:22 29 4
gpt4 key购买 nike

我的 shell 脚本是这样的,

sOneCount =5
sZeroCount=12
aa=`expr $sOneCount / $sZeroCount`
successRate=`expr $aa \* 100

因为 5/12 的结果是 0.416,然后是 0.416*100,所以应该是 41.6但我得到的“成功率”为 0。它对浮点值进行四舍五入。

我希望最终结果应该是这样的 41,请帮助我谢谢

最佳答案

Bash,可能还有其他类似的 shell,不支持浮点运算:

Evaluation is done in fixed-width integers with no check for overflow

http://man7.org/linux/man-pages/man1/bash.1.html#ARITHMETIC_EVALUATION

您可以使用 bc相反,启用 mathlib 操作:

$ successRate=$(echo "${sOneCount} / ${sZeroCount} * 100" | bc -l)
$ echo ${successRate}
41.66666666666666666600

关于linux - shell脚本中的算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57414067/

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