在BASH中用转换字符串。在浮动

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)

cha*_*aos 6

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)