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
  • 相关阅读:
    python 随机字符串
    Ajax
    Django (Form)
    Django (项目)
    Django (二)
    Django (一)
    Django 学生管理系统
    地理坐标系 与 投影坐标系
    shapefile
    图表绘制工具--Matplotlib 3
  • 原文地址:https://www.cnblogs.com/lemon-le/p/6110971.html
Copyright © 2011-2022 走看看