bash-具有浮点类型的数学多重整数

bash-具有浮点类型的数学多重整数,bash,Bash,在bash中,我试图用一个整数和一个浮点数进行数学运算,以得到一个整数结果。以下代码段不起作用: x=25 y=0.2 z=$((x*y)) echo $x*$y=$z 错误消息是: sh: line 3: 0.2: syntax error: invalid arithmetic operator (error token is ".2") 如果这两个变量都是整数,则可以正常工作 如何从bash脚本中获取“25*0.2=5”?将打印输出放在echo的引号中。此外,您的z=$((x*y))将

在bash中,我试图用一个整数和一个浮点数进行数学运算,以得到一个整数结果。以下代码段不起作用:

x=25
y=0.2
z=$((x*y))
echo $x*$y=$z
错误消息是:

sh: line 3: 0.2: syntax error: invalid arithmetic operator (error token is ".2")
如果这两个变量都是整数,则可以正常工作


如何从bash脚本中获取“25*0.2=5”?

将打印输出放在echo的引号中。此外,您的z=$((x*y))将使z为空或出错:

25*0.2:语法错误:算术运算符无效(错误标记为 “.2”)

所以。。。下面是经过测试的代码,可能是这样的:

x=25
y=0.2
z=$(echo $x*$y | bc)
echo "$x*$y=$z"
25*0.2=5.0
结果如下:

x=25
y=0.2
z=$(echo $x*$y | bc)
echo "$x*$y=$z"
25*0.2=5.0

注意:我们使用了bc命令进行z计算

尝试bashj(一个支持java的bash变体)

例如:

#!/usr/bin/bashj
echo Math.cos(0.5)
echo Math.hypot(3.0,4.0)

bash
不支持浮点运算。使用
bc
awk
perl