Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在BASH中,使用转换字符串。浮动_String_Bash_Floating Point - Fatal编程技术网

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

String 在BASH中,使用转换字符串。浮动,string,bash,floating-point,String,Bash,Floating Point,我有一个表示浮点的字符串: echo $NUM 5.03 我需要把这个数字乘以MEGA。如果我直接这样做: MEGA="1000" result=$(($NUM*$MEGA)) 我收到一个错误: syntax error: invalid arithmetic operator (error token is ".03 * 1000") Bash只有整数,没有浮点数。您需要像bc这样的工具来正确分配result的值: result=$(bc -l <<<"${NUM}*$

我有一个表示浮点的字符串:

echo $NUM
5.03
我需要把这个数字乘以MEGA。如果我直接这样做:

MEGA="1000"
result=$(($NUM*$MEGA))
我收到一个错误:

syntax error: invalid arithmetic operator (error token is ".03 * 1000")

Bash只有整数,没有浮点数。您需要像
bc
这样的工具来正确分配
result
的值:

result=$(bc -l <<<"${NUM}*${MEGA}")

使用
bc
,以及屏幕顶部的搜索功能。
result=$(awk '{print $1*$2}' <<<"${NUM} ${MEGA}")