使用expr实用程序在Linux中进行浮点运算

时间:2018-10-15 07:43:49

标签: linux bash arithmetic-expressions expr

不确定,但是我无法获取。

38/1024 = 0.0371

当我表演时: echo "scale=2; 15 / 0.0371" |bc,它给了我结果:

404.31

但是,当我执行时: echo 'scale=2; 15/(38/1024)' |bc,输出为:

500.00

为什么结果不同?

我需要第二个命令的输出为404.31

谢谢。

1 个答案:

答案 0 :(得分:2)

这是因为您的浮点精度在第二种情况下有所不同。

在第一种情况下,您使用0.0371进行除法,而在第二种情况下,您使用精度为2个小数点的38/1024,得出0.03

因此本质上,第二种情况下的实际命令是

echo "scale=2; 15 / 0.03" |bc

因此输出不同。

如果您想要与第一次使用相同的输出比例,则像4一样使用

echo "scale=4; 15/(38/1024)" |bc