不确定,但是我无法获取。
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 :(得分:2)
这是因为您的浮点精度在第二种情况下有所不同。
在第一种情况下,您使用0.0371
进行除法,而在第二种情况下,您使用精度为2个小数点的38/1024
,得出0.03
。
因此本质上,第二种情况下的实际命令是
echo "scale=2; 15 / 0.03" |bc
因此输出不同。
如果您想要与第一次使用相同的输出比例,则像4一样使用
echo "scale=4; 15/(38/1024)" |bc