bc - 命令:没有给出适当的结果

bc - 命令:没有给出适当的结果

我正在尝试在linux中使用bc命令进行简单的计算。一旦我想要带有所有小数位的值。其他时候我只想要整数部分

想要获得完整的小数位

$ echo "scale=10; ((900/1303) * 928)/600" | bc
1.0683039140

现在我只想在这里得到 1(整数)部分,省略小数部分,所以我尝试

$ echo "scale=0; ((900/1303) * 928)/600" | bc
0

如何显示零。它应该显示 1

有人可以帮忙吗。在这种情况下,我不想使用 awk 或 sed 提取整数部分

答案1

尝试:

echo "scale=20; a=((900/1303) * 928)/600; scale=0; a/1" | bc

然而,这是截断小数,结果1.9999也会被截断1

但这似乎就是您所要求的。


如何显示零。 ...

因为900/1303(小数点为零)变为0.被0带入最终结果。也许,如果你重新排序:

$ echo "( 900 * 928 / 1303 ) / 600" | bc
1

...它应该显示 1

不,如果中间除法是用零位小数进行的,则不应如此。

相关内容