1 浮点数取整
file=4.57;echo ${file%.*} 不管小数点后面是什么,整数部分不会受影响,直接被取到。
2 浮点数比较大小
首推awk:
/bin/awk 'BEGIN{a=0.02;while(a<0.06){a=a+0.02};print a}'
/bin/awk -v a=0.7 -v b=0.5 'BEGIN{print(a>b)?"a is big":"b is big"}'
注意:shell本身if语句不能进行浮点数比较,只能是整数
a=0.1;if [ $a -eq 0.1 ];then echo ok;fi
报错:-bash: [: 0.1: integer expression expected
那么 a=1;if [ $a -eq 1 ];then echo ok;fi 毫无疑问会输出ok
3 浮点数计算
加法:
x=1.02;echo "$x+0.02"|bc
乘法
x=1.02;echo "$x*2"|bc
除法
如果要显示几位小数点,则需要加上scale
x=1.02;echo "scale=4;$x/2"|bc
结果:.5100
本文转自大角牛博客51CTO博客,原文链接http://blog.51cto.com/jingshengsun888/1174705如需转载请自行联系原作者
运维的戏子