且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux下关于浮点数处理的几个方法

更新时间:2022-08-12 10:50:04

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如需转载请自行联系原作者


运维的戏子