zoukankan      html  css  js  c++  java
  • if条件里比较浮点数

    晚上看会儿书,基础的东西,很多都不熟练,不得不佩服那些人真的很厉害,为啥会想到那些,我这傻脑袋是想不到,暂时......

    比较3.3333与3

    #!/bin/bash
    var1=`echo "scale=4; 10/3" |bc`
    echo "The test value is $var1"
    
    if [ $var1 -gt 3 ] ;then
        echo "The result is larger than 3"
    else
        echo "aa"
    fi
    

     报错:

    The test value is 3.3333
    if4.sh: line 6: [: 3.3333: integer expression expected
    aa

    解决办法:

    #!/bin/bash
    var1=`echo "scale=4; 10/3" |bc`
    echo "The test value is $var1"
    
    echo `echo "$var1 > 3"|bc`
    
    if [ `echo "$var1 > 3"|bc` -eq 1 ] ;then
        echo "The result is larger than 3"
    else
        echo "aa"
    fi

    scale定义小数点后的位数;if条件里通过bc返回的值与1作比较,若等于1,说明是大于

    如何在if [ condition ] 里比较浮点数,通过bc命令;bc的数值比较运算:

    [root@yunovo shell]# echo "5>3" | bc
    1
    [root@yunovo shell]# echo "5>7" | bc
    0
  • 相关阅读:
    DEBUG 知识
    转载:telnet启动后的登录问题
    通过ip找主机名
    转载:网线的相关知识
    hdu2717(广度优先搜索)
    hdu1241(bfs)
    hdu1060 数论
    大数除(hdu2117)
    hdu1159(DP)
    hdu2181__DFS
  • 原文地址:https://www.cnblogs.com/lemon-le/p/6110971.html
Copyright © 2011-2022 走看看