Bash将Decimal乘以int

sve*_*nus 8 bash decimal multiplication

我从用户输入中读取价格.当我将输入与int相乘时

T = "$((PRICE*QTY))"|bc; 给出第272行:12.00:语法错误:无效算术运算符(错误标记为".00")或.50

取决于用户输入.如何将这两个变量相乘并得到总共2个小数点?

loe*_*tar 15

这工作:


PRICE=1.1
QTY=21
RES=$(echo "scale=4; $PRICE*$QTY" | bc)
echo $RES
Run Code Online (Sandbox Code Playgroud)


gho*_*g74 5

var=$(echo "scale=2;$PRICE*$QTY" |bc)
Run Code Online (Sandbox Code Playgroud)

你也可以使用awk

awk -vp=$PRICE -vq=$QTY 'BEGIN{printf "%.2f" ,p * q}'
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 4

T="$(echo "$PRICE*$QTY" | bc)"
Run Code Online (Sandbox Code Playgroud)