use*_*065 5 string floating-point bash
我有一个表示浮点数的字符串:
echo $NUM
5.03
Run Code Online (Sandbox Code Playgroud)
我需要将此数字乘以MEGA。如果我直接这样做:
MEGA="1000"
result=$(($NUM*$MEGA))
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
syntax error: invalid arithmetic operator (error token is ".03 * 1000")
Run Code Online (Sandbox Code Playgroud)
Bash只有整数,没有浮点数。您将需要一个工具bc来正确分配的值result:
result=$(bc -l <<<"${NUM}*${MEGA}")
Run Code Online (Sandbox Code Playgroud)
或者您可以使用awk:
result=$(awk '{print $1*$2}' <<<"${NUM} ${MEGA}")
Run Code Online (Sandbox Code Playgroud)