2013-10-29 113 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