我在unix中使用bc命令时遇到小问题。我有两个变量: variable1,variable2。算术表达式如下:
res=$$((($variable1*10)/$variable2)
我想从两个分开的数字四舍五入。我认为,最好的解决方案是使用bc -l
命令+ scale=X
,但不起作用。
res=$$(((echo "scale=2; $variable1*10)/$variable2" | bc -l)
我想得到更准确的结果。现在,好吧,我有:
res = 10
但应该是
res = 9.23
答案 0 :(得分:2)
您目前拥有的内容不会仅仅因为bc
表达式中的括号不平衡而无法正常工作。此外,您似乎还有方式更多$
,(
和)
个字符。
没有这些缺陷,它可以正常工作:
pax> num=923
pax> den=1000
pax> res=$(echo "scale=2; $num * 10 / $den" | bc -l)
pax> echo $res
9.23