How to compare two floating point numbers in Bash?

前端 未结 17 2352
無奈伤痛
無奈伤痛 2020-11-22 02:17

I am trying hard to compare two floating point numbers within a bash script. I have to variables, e.g.

let num1=3.17648e-22
let num2=1.5

No

17条回答
  •  余生分开走
    2020-11-22 02:39

    A solution supporting all possible notations, including the scientific notation with both uppercase and lowercase exponents (e.g., 12.00e4):

    if (( $(bc -l <<< "${value1/e/E} < ${value2/e/E}") ))
    then
        echo "$value1 is below $value2"
    fi 
    

提交回复
热议问题