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

floating point operations in Linux using expr utility

不确定,但我无法获取。

38/1024 = 0.0371

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

404.31

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

500.00

为什么结果不同。

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

谢谢。

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

在第一种情况下,您使用 0.0371 作为除法,而在第二种情况下,您使用 38/1024,精确到 2 个小数点,得到 0.03

所以基本上你在第二种情况下的实际命令是

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

因此输出不同。

如果您想要与第一次使用 scale as 4 相同的输出,例如

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