shell比较浮点数和整数

Posted 运维者说

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell比较浮点数和整数相关的知识,希望对你有一定的参考价值。

  今天有一个朋友忽然问我在shell中,如何比较浮点数和整数,倒是把我问的一愣,在工作中确实没有遇到这个场景。我们也知道,在shell中数字的计算通常都会转换成整数,比如说1.1和1会被认为是一样的。这么一来,我们就不能直接通过gt或者lt等方式来进行比较。虽然没遇到过,但我们也知道,这个比较肯定也不会很难。简单的记录下以作备用。

下面是一个常规写法的示例:

if [ 1.1 -gt 1 ];then
  echo "OK"
fi

直接会抛出如下异常:

line 3: [: 1.1: integer expression expected

正确的写法如下:

if [ `echo "1.1 > 1" | bc` -eq 1 ];then
    echo "OK"
fi

 

以上是关于shell比较浮点数和整数的主要内容,如果未能解决你的问题,请参考以下文章

shell比较浮点数和整数

原生JavaScript判断是否为邮箱危险字符验证长度验证网址验证小数整数浮点数等常用的验证

Shell脚本处理浮点数的运算和比较实例

如何在shell中对浮点数进行计算

C语言程序设计:输入浮点数12.5分别输出它的整数数部分和小数部分!

C语言程序设计:输入浮点数12.5分别输出它的整数数部分和小数部分!