抱歉我的头衔不好。我很困惑地在一行解释标题。 这是我的问题:
echo "scale=0;9 * 150 + 8.092 * 560 + 3.181" | bc
而不是
5885
但是,我得到了输出
5884.701
任何?
答案 0 :(得分:2)
据我所知,只有部门正在使用scale
提供的信息。
echo "scale=0; (9 * 150 + 8.092 * 560 + 3.181)/1" | bc
将回显5884,因为只取整数部分(商!)。要获得所需的结果(圆形),您可以使用:
echo "scale=0; ((9 * 150 + 8.092 * 560 + 3.181)+0.5)/1" | bc
请注意,此方法不适用于负数!请参阅此帖子:https://unix.stackexchange.com/a/89843
答案 1 :(得分:0)
这是正确的结果。 bc的手册页解释了扩展如何适用于此:
由于您使用给定比例乘以/添加多个数字,结果将具有不同的比例。