2013-10-29 153 views
1

我想將整數值乘以小數value = 2*1.5。但它怎麼給我這個錯誤,"invalid arithmetic operator"無效的算術運算

我在線研究和提供的大多數解決方案只是添加| BC背後的十進制值,但是,但是我嘗試過了,它仍然無法正常工作,

results=$((2*"1.5"|bc)) 
echo $results 
+0

嘗試反斜槓'*'。您可能會收到無意的全局擴展。 – moshbear

+0

仍然有錯誤,儘管將反斜槓* – user3429531

+2

'results = $(echo 2 *「1.5」| bc)' – devnull

回答

2

試試這個

results=`bc <<< "scale=2; 2*1.5"` 
echo $results 

這裏規模= 2表示將考慮保留2位小數

請不要忘記「`」代字符號重要以上

+0

沒錯。謝謝。您的示例工程 – user3429531

+0

我很高興它爲你工作 如果你發現它是正確的,請accpet回答(點擊右邊標記附近我的答案) – Ashish

+0

在1分鐘內我會接受 – user3429531

-3
$a =2; 
$a =(float)$a; 
$b=1.5; 
echo $a*$b; 
+2

這不是[tag:bash]。 –

+0

這是在PHP中,而問題是關於Bash。這並不能解答這個問題。一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你將能夠[評論任何職位](http://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 – cpburnz

2

您還可以嘗試以下操作:

echo "2*1.5" | bc 
+0

非常感謝您的幫助 – user3429531