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