price=22.22
qty=33
let "total_sales=$price*$qty"
它给了我一个错误
invalid arithmetic operator
我可以将这两个值相乘吗?
最佳答案
使用 awk
进行浮点运算,因为某些 shell,包括 bash
不支持浮点运算。
awk -v price=22.22 -v qty=33 'BEGIN{total_sales=(price*qty); print total_sales;}'
733.26
或者)如果您的变量是在 shell 中定义的,您可以将它们导入到 Awk
中,如下所示。注意,shell
和 awk
下的变量是不同的。
price="22.22"
qty="33"
awk -v price="${price}" -v qty="${qty}" 'BEGIN{total_sales=(price*qty); print total_sales}'
733.26
将其存储在变量中
price="22.22"
qty="33"
unset total_sales
total_sales=$(awk -v price="${price}" -v qty="${qty}" 'BEGIN{print (price*qty)}')
关于shell - shell中如何乘以小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41695634/