使用 bc 进行 bash 计算,并向上舍入浮点数

Jam*_*zac 5 bash shell

对不起,我的标题不好。我很困惑在 1 行中解释标题。这是我的问题:

echo "scale=0;9 * 150 + 8.092 * 560 + 3.181" | bc
Run Code Online (Sandbox Code Playgroud)

而不是得到

5885

但是,我得到了输出

5884.701

任何人?

fje*_*fly 5

据我所知,只有部门使用scale.

echo "scale=0; (9 * 150 + 8.092 * 560 + 3.181)/1" | bc
Run Code Online (Sandbox Code Playgroud)

由于仅采用整数部分(商!),因此将回显 5884。要获得所需的结果(圆形),您可以使用:

echo "scale=0; ((9 * 150 + 8.092 * 560 + 3.181)+0.5)/1" | bc
Run Code Online (Sandbox Code Playgroud)

请注意,这种方法不适用于负数!看到这个帖子:https : //unix.stackexchange.com/a/89843