gpt4 book ai didi

bash - 如何在 float 上使用 expr?

转载 作者:行者123 更新时间:2023-11-29 08:43:23 25 4
gpt4 key购买 nike

我知道这是个很愚蠢的问题,但我不知道如何在 bash 中做到这一点:

20 / 30 * 100

它应该是 66.67 但 expr 说的是 0,因为它不支持 float 。Linux 中有什么命令可以代替 expr 做这个等式?

最佳答案

bc 会为您做这件事,但顺序很重要。

> echo "scale = 2; 20 * 100 / 30" | bc
66.66
> echo "scale = 2; 20 / 30 * 100" | bc
66.00

或者,对于您的具体情况:

> export ach_gs=2
> export ach_gs_max=3
> x=$(echo "scale = 2; $ach_gs * 100 / $ach_gs_max" | bc)
> echo $x
66.66

无论您选择哪种方法,都可以将其纳入一项功能,让您的生活更轻松:

#!/bin/bash
function pct () {
echo "scale = $3; $1 * 100 / $2" | bc
}

x=$(pct 2 3 2) ; echo $x # gives 66.66
x=$(pct 1 6 0) ; echo $x # gives 16

关于bash - 如何在 float 上使用 expr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1253987/

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