對不起,我的壞名稱。我很混亂地解釋1行的標題。 這是我的問題:使用bc計算bash,並舍入浮點數
echo "scale=0;9 * 150 + 8.092 * 560 + 3.181" | bc
,而不是領
但是,我得到的輸出
5884.701
有人嗎?
對不起,我的壞名稱。我很混亂地解釋1行的標題。 這是我的問題:使用bc計算bash,並舍入浮點數
echo "scale=0;9 * 150 + 8.092 * 560 + 3.181" | bc
,而不是領
但是,我得到的輸出
5884.701
有人嗎?
據我所知,只有部門使用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
這是正確的結果。 bc的手冊頁說明如何在這裏應用比例縮放:
由於您將給定比例乘以/添加多個數字,結果將具有不同比例。
不盡然;如果表達式恰好是精確整數,則不需要添加1。 (當然,對於任意浮點表達式來說,發生這種情況的機率非常低)。 – chepner
@chepner:好點,謝謝。我有點改進了。 – fjellfly