我的语法有问题,我希望以十进制输出两个数字的除法,但是如果我输入4和5,当我将其他所有其他工作正常时,我的输出为0而不是0.8。
case $ch in
1)sum=`expr $n1 + $n2`
echo "Sum ="$sum;;
2)sum=`expr $n1 - $n2`
echo "Sub = "$sum;;
3)sum=`expr $n1 \* $n2`
echo "Mul = "$sum;;
4)sum=`expr $n1 / $n2`
echo "Div = "$sum;;
*)echo "Invalid choice";;
esac
答案 0 :(得分:2)
Expr只实现整数运算。考虑使用其他内容,例如dc。
答案 1 :(得分:2)
使用bc
。
sum=`echo -e "scale=5\n$n1/$n2" | bc`
你的部门会给0.8
这个。