始终在 bc 中显示尾随零
Always show trailing zeros in bc
如何在整数中显示尾随零或如何将其转换为 bc 中的浮点数?
我知道 scale
,但它只适用于浮点数:
$ echo "scale=3; 3/2" | bc
1.500
$ echo "scale=3; 1+1" | bc
2
我想要得到的结果看起来像 2.000
。我想用sed做起来并不难,但我是新手。
echo "scale=3; +" | 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 中的 "floats" -- 它们是 "fixed-point" -- 小数点后有固定位数的数字。在内部,它们只是整数除以 10 的固定幂(由 scale
命令设置)
如何在整数中显示尾随零或如何将其转换为 bc 中的浮点数?
我知道 scale
,但它只适用于浮点数:
$ echo "scale=3; 3/2" | bc
1.500
$ echo "scale=3; 1+1" | bc
2
我想要得到的结果看起来像 2.000
。我想用sed做起来并不难,但我是新手。
echo "scale=3; +" | 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 中的 "floats" -- 它们是 "fixed-point" -- 小数点后有固定位数的数字。在内部,它们只是整数除以 10 的固定幂(由 scale
命令设置)