【问题标题】:using negative exponents with bc in Bash在 Bash 中使用带有 bc 的负指数
【发布时间】: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 exponent bc


    【解决方案1】:

    默认情况下,bc 的输出被舍入为整数。要保留结果的小数部分,请使用bc -l,如下所示:

    $ echo "2*1.86929*10^-05" | bc -l
    .00003738580000000000
    

    【讨论】:

    • 这很好用。非常感谢您在这方面的帮助。
    • 在我看来,bc -l 应该是 bc 的默认值。
    【解决方案2】:

    你需要设置“scale”的值——所以

    scale=50
    2*1.86929*10^-05
    

    给出 .00003738580000000000000000000000000000000000000000

    【讨论】:

    • 感谢您的帮助。我通过以下方式让它工作:echo "scale=50; 2*1.86929*10^-05" | bc.
    猜你喜欢
    • 2013-04-16
    • 2019-06-04
    • 2015-01-07
    • 2016-03-31
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-15
    相关资源
    最近更新 更多