Bash 为什么';t bc是否显示此表达式结果的比例?
我认为这个表达式应该返回Bash 为什么';t bc是否显示此表达式结果的比例?,bash,unix,posix,bc,Bash,Unix,Posix,Bc,我认为这个表达式应该返回0.000,而不是0 echo "scale = 3 ; 0 / 2" | bc 使用echo“scale=3;scale(0/2)”|bc输出3,因此很明显该比例适用,但没有正确显示输出 发生了什么事?当0除以某物时,不会考虑刻度,因为它确定永远不会有任何十进制值 您是对的,您的比例适用,例如,尝试使用echo“scale=3;1/2”| bc,输出将为.500 此外,如果使用比例只是为了避免截断,则可以使用允许20位小数的-l选项 这也证明了当将0除以某物时,小数点
0.000
,而不是0
echo "scale = 3 ; 0 / 2" | bc
使用echo“scale=3;scale(0/2)”|bc
输出3
,因此很明显该比例适用,但没有正确显示输出
发生了什么事?当0除以某物时,不会考虑刻度,因为它确定永远不会有任何十进制值 您是对的,您的比例适用,例如,尝试使用echo“scale=3;1/2”| bc,输出将为.500 此外,如果使用比例只是为了避免截断,则可以使用允许20位小数的-l选项 这也证明了当将0除以某物时,小数点会被忽略,就像您键入:
echo "0/2" | bc - l
输出将为0
echo "1/2" | bc - l
输出将为.50000000000000
我希望我把它说得更清楚一点。虽然我希望格式一致,但这肯定是有道理的。