2015-09-26 58 views

回答

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

+0

不尽然;如果表达式恰好是精确整数,则不需要添加1。 (当然,对于任意浮点表达式来说,发生这种情况的几率非常低)。 – chepner

+0

@chepner:好点,谢谢。我有点改进了。 – fjellfly

0

这是正确的结果。 bc的手册页说明如何在这里应用比例缩放:

由于您将给定比例乘以/添加多个数字,结果将具有不同比例。