栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux / shell 整数、浮点数进行 加减乘除

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux / shell 整数、浮点数进行 加减乘除

linux / shell 进行加减乘除
1、awk 结合 printf 的通用性最强,可计算整数和浮点数
2、bc也可计算整数和浮点数,但多用于计算浮点数
3、expr 只能计算整数,常用于计算整数
4、(()) 除了计算整数,还能比较整数,常用于if 条件句
一、两者都是整数

num1=3
num2=5

########## 加法 ##########

expr $num1 + $num2   
awk 'BEGIN{printf "%dn",('$num1' + '$num2')}'  
echo "$num1 + $num2" | bc   
((res=$num1 + $num2)) && echo $res 
# 自增长
let "res++"  && echo $res    

结果

8
8
8
8
9

########## 减法 ##########

expr $num1 - $num2  
awk 'BEGIN{printf "%dn",('$num1' - '$num2')}' 
echo "$num1 - $num2" | bc   
((res=$num1 - $num2)) && echo $res  
# 自减少
let "res--"  && echo $res   

结果

-2
-2
-2
-2
-3

########## 乘法 ##########

expr $num1 * $num2
awk 'BEGIN{printf "%dn",('$num1' * '$num2')}'
echo "$num1 * $num2" | bc
((res=$num1 * $num2)) && echo $res

结果

15
15
15
15

########## 除法 ##########
向下取整

expr $num1 / $num2
awk 'BEGIN{printf "%dn",('$num1' / '$num2')}'
echo "$num1 / $num2" | bc
((res=$num1 / $num2)) && echo $res

结果

0
0
0
null(为空)
二、至少有一个是浮点数(小数)

num1=7.8
num2=3.5
########## 加法 ##########

# scale=2,代表保留两位小数
echo "scale=2;$num1 + $num2" | bc
awk 'BEGIN{printf "%.1fn",('$num1' + '$num2')}'

结果

11.3
11.3

########## 减法 ##########

echo "scale=2;$num1 - $num2" | bc
awk 'BEGIN{printf "%.1fn",('$num1' - '$num2')}'

结果

4.3
4.3

########## 乘法 ##########

echo "scale=2;$num1 * $num2" | bc
awk 'BEGIN{printf "%.1fn",('$num1' * '$num2')}'

结果

27.30
27.3

########## 除法 ##########

echo "scale=2;$num1 / $num2" | bc
awk 'BEGIN{printf "%.1f%%n",('$num1'/'$num2')*100}'

结果

44.9%
222.9%
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/963245.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号