Unix 始终在bc中显示尾随零

Unix 始终在bc中显示尾随零,unix,bc,Unix,Bc,如何在整数中显示尾随零,或如何在bc中将其转换为浮点? 我知道缩放,但它仅适用于浮动: $ echo "scale=3; 3/2" | bc 1.500 $ echo "scale=3; 1+1" | bc 2 我想要得到的结果似乎是2.000。我想用sed做这件事并不难,但我是个新手 echo "scale=3; $1+$2" | bc | sed 's/^[0-9]*$/&\.000/g' 这对我来说很好: $ echo "scale=3; 3/2" | bc | sed 's/

如何在整数中显示尾随零,或如何在bc中将其转换为浮点? 我知道
缩放
,但它仅适用于浮动:

$ echo "scale=3; 3/2" | bc
1.500
$ echo "scale=3; 1+1" | bc
2
我想要得到的结果似乎是
2.000
。我想用sed做这件事并不难,但我是个新手

echo "scale=3; $1+$2" | bc | sed 's/^[0-9]*$/&\.000/g'
这对我来说很好:

$ echo "scale=3; 3/2" | bc | sed 's/^[0-9]*$/&\.000/g'
1.500
$ echo "scale=3; 3+2" | bc | sed 's/^[0-9]*$/&\.000/g'
5.000

除以1可转换为带小数部分的数字:

$ echo "scale=3; 1+1/1" | bc
2.000
完成任何类型的除法后,如果该值最终成为输出的一部分,则将使用指定的位数打印该值


它们不是bc中的“浮点数”——它们是“定点”——小数点后有固定位数的数字。在内部,它们只是整数除以10的固定幂(由
scale
命令设置)

您可以通过管道将
bc
的输出传输到
printf
echo“scale=3;1+1”| bc | xargs printf”%.3f\n
。(xargs似乎是必要的,我不知道如何直接导入printf)。当结果为0时,它不起作用:
$echo“scale=3;1-1/1”| bc