• 5-2-shell:数值处理--加减乘除


    一、整数

    加减乘除

    echo `expr 2 + 1`
    echo `expr 2 - 1`
    echo `expr 2 * 1`
    echo `expr 2 / 1`

    比较

    -eq  等于,如:if [ "$a" -eq "$b" ]   
    -ne  不等于,如:if [ "$a" -ne "$b" ]   
    -gt  大于,如:if [ "$a" -gt "$b" ]   
    -ge  大于等于,如:if [ "$a" -ge "$b" ]   
    -lt   小于,如:if [ "$a" -lt "$b" ]   
    -le  小于等于,如:if [ "$a" -le "$b" ]   
    <   小于(需要双括号),如:(("$a" < "$b"))   
    <=  小于等于(需要双括号),如:(("$a" <= "$b"))   
    >   大于(需要双括号),如:(("$a" > "$b"))   
    >=  大于等于(需要双括号),如:(("$a" >= "$b"))   

    二、浮点数-bc

    使用awk或者bc计算

    加减乘除

    精度丢失
    echo "0.2+2.5"|bc
    echo "0.2-2.5"|bc
    echo "0.2*2.5"|bc    --结果.5
    echo "2.5/0.2"|bc    --结果12

    比较

    if [ $(echo '5.2 > 2'|bc) = 1 ]
    then 
        echo "test"
    fi

    差值比较

    a=5.2
    b=2
    if [ `echo "$a - $b > 1"|bc` = 1 ]
    then 
        echo "test greater"
    fi
    
    if [ `echo "$a - $b == 3.2"|bc` = 1 ]
    then 
        echo "test equal"
    fi

    二、浮点数-awk

    使用awk或者bc计算

    加减乘除

    完整计算
    a=5.2
    b=2
    echo "$a $b" | awk '{printf("%0.3f
    ",$1+$2)}'
    echo "$a $b" | awk '{printf("%0.3f
    ",$1-$2)}'
    echo "$a $b" | awk '{printf("%0.3f
    ",$1×$2)}'
    echo "$a $b" | awk '{printf("%0.3f
    ",$1/$2)}'

    比较

    a=5.2
    b=2
    if [ $(echo "$a $b" | awk '{printf("%d
    ",$1<$2)}') = 1 ]
    then 
        echo "test"
    fi

    差值比较

    a=5.2
    b=2
    if [ `echo "$a $b" | awk '{printf("%d
    ",$1<$2)}'` = 1 ] 
    then 
        echo "test greater" 
    fi 
    if [ `echo "$a - $b == 3.2"|bc` = 1 ] 
    then 
         echo "test equal" 
    fi
  • 相关阅读:
    软件工程-事后Postmortem 会议
    软件工程-项目复审
    团队作业-冲刺博客(日更)
    团队作业-冲刺博客(任务与计划)
    团队作业-需求改进&系统设计
    软件工程团队作业-需求规格说明书
    TooBug,出撃!
    FileReader
    Javascript刷新页面的几种方法:
    软件工程-个人项目
  • 原文地址:https://www.cnblogs.com/lamp-lrh/p/14059071.html
Copyright © 2020-2023  润新知