【问题标题】:Bash expr with 0 before decimals [duplicate]Bash expr 小数点前为 0 [重复]
【发布时间】:2013-11-29 17:58:52
【问题描述】:

我将两个变量中包含的两个小十进制数相加:

SEEupper=`expr $SEEmedian+$SEEthre | bc`

但由于结果是小于 1 的数字,例如 0.XXXX,因此输出为:'.XXXX'。 有没有办法在点和小数之前输出“0”?

【问题讨论】:

    标签: bash decimal


    【解决方案1】:

    解决方法:... | sed -e "s|^\.|0.|"

    【讨论】:

    • 这似乎不适用于负数...
    • ... | sed -e "s|^\(-\?\)\.|\10.|"
    【解决方案2】:

    如果你可以使用python:

    SEEupper=`python -c "print $SEEmedian +$SEEthre"`
    

    【讨论】:

      【解决方案3】:

      是的,使用内部 bash 命令printf

      printf "%g" $SEEupper
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-26
        • 2011-08-10
        • 2016-02-24
        • 1970-01-01
        • 2011-09-05
        • 1970-01-01
        • 2011-04-27
        相关资源
        最近更新 更多