2015-09-26 213 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的手冊頁說明如何在這裏應用比例縮放:

由於您將給定比例乘以/添加多個數字,結果將具有不同比例。