我正在尝试在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
不,如果中间除法是用零位小数进行的,则不应如此。