bash - 数学浮点类型

时间:2017-07-05 20:46:34

标签: 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”?

2 个答案:

答案 0 :(得分:1)

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

  

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

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

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

结果将是这样的:

25*0.2=5.0

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

答案 1 :(得分:0)

尝试 bashj (支持java的bash变种)https://sourceforge.net/projects/bashj/

例如:

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