我正在尝试计算 a
的 20%,其中 a
由用户输入。
echo "Please enter your basic salary"
read a
#HRA
b=`expr (20 / 100)\* $a)`|bc
echo HRA is:$b
这个表达式出了什么问题,生成了一条错误消息?
最佳答案
第一个问题是您只想将表达式传递到 bc 中进行计算,因此使用 echo 而不是 expr。
其次,您的评估顺序将首先计算 20/100 作为整数,结果为 0,然后将工资乘以该值,结果为 0。重新排序计算即可解决该问题。
所以以下应该有效:
echo "Please enter your basic salary"
read a
#HRA
b=`echo $a " * 20 / 100"|bc`
echo HRA is:$b
或者,如果您更喜欢使用 expr 而不是 bc,您可以转义有问题的字符来实现此操作:
echo "Please enter your basic salary"
read a
#HRA
b=`expr $a \* 20 \/ 100`
echo HRA is:$b
关于linux - Linux除法和乘法的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24921850/