如何以整数形式显示尾随零或如何在bc中将其转换为float?
我知道scale
,但它只适用于浮点数:
$ echo "scale=3; 3/2" | bc
1.500
$ echo "scale=3; 1+1" | bc
2
我想得到的结果好像是2.000
。我想用sed做这件事并不困难,但我是一个新手。
答案 0 :(得分:0)
除以1转换为带小数部分的数字:
$ echo "scale=3; 1+1/1" | bc
2.000
一旦完成任何类型的划分,如果该值最终成为输出的一部分,则将以指定的位数打印。
他们不会"花车"在bc - 他们"定点" - 小数点后带有固定位数的数字。在内部,它们只是整数除以固定功率10(由scale
命令设置)
答案 1 :(得分:-1)
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