首页 > 代码库 > shell比较浮点数和整数
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比较浮点数和整数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。