我在shell脚本中都是新的,因此有一个关于如何舍入整数的问题。
以下是keke(smstools3开发人员)
的脚本代码行 balance=$(substr "$result" "$balance_prefix" "$balance_suffix")
我的余额为111.12
,我希望将其整理好。
我试过
balance1=$(substr "$result" "$balance_prefix" "$balance_suffix")
balance=$("%0.f\n" "$balance1")
或
balance1=$(substr "$result" "$balance_prefix" "$balance_suffix")
balance=$(ceil($balance1))
两者都是在谷歌之后引用一些答案,我甚至不知道语法是否正确。当然两个例子都返回空白。
任何提示或建议?谢谢。
编辑:
# Check that required words exists:
if [[ "$result" == *${balance_prefix}* ]] && \
[[ "$result" == *${balance_suffix}* ]]
then
# Get the balance and check it:
balance=$(substr "$result" "$balance_prefix" "$balance_suffix")
balance_low=0
if [ $(expr "$balance" + 1 2> /dev/null) ]; then
[ $balance -le $alert_balance ] && balance_low=1
else
echo "Error while parsing an integer: $balance"
fi
else
echo "Error while parsing the answer (balance): $result"
fi
答案 0 :(得分:1)
balance=`python -c "from math import ceil; print(ceil($balance1))"`
或
balance=`perl -MPOSIX -e "print ceil($balance1)"`
答案 1 :(得分:1)
仅使用最少的标准工具(perl和python非常常见):
balance=$(echo "x=${balance1}; scale=0; xx=x/1; if(x>xx) xx+=1; print xx"|bc -l)