【发布时间】:2013-02-15 02:35:43
【问题描述】:
我在 Bash 的程序 bc 中使用负指数时遇到了困难。如果我执行echo "2*1.86929*10^05" | bc,我会得到373858.00000 的结果,而如果我执行echo "2*1.86929*10^-05" | bc,我只会得到0 的结果。使用负指数时如何获得更好的准确性?
【问题讨论】:
我在 Bash 的程序 bc 中使用负指数时遇到了困难。如果我执行echo "2*1.86929*10^05" | bc,我会得到373858.00000 的结果,而如果我执行echo "2*1.86929*10^-05" | bc,我只会得到0 的结果。使用负指数时如何获得更好的准确性?
【问题讨论】:
默认情况下,bc 的输出被舍入为整数。要保留结果的小数部分,请使用bc -l,如下所示:
$ echo "2*1.86929*10^-05" | bc -l
.00003738580000000000
【讨论】:
bc -l 应该是 bc 的默认值。
你需要设置“scale”的值——所以
scale=50
2*1.86929*10^-05
给出 .00003738580000000000000000000000000000000000000000
【讨论】:
echo "scale=50; 2*1.86929*10^-05" | bc.