shell的计算什么时候会有小数?什么时候是整数

本文探讨了在Shell脚本中进行小数和整数计算的方法,包括使用bc和awk工具。通过实验展示了bash仅支持整型运算的事实,而bc的scale参数和awk的printf/sprintf函数可用于控制小数位数和四舍五入。文章还列举了awk的转换符、标志和精度概念,并提出了解决特定计算问题的方案。
摘要由CSDN通过智能技术生成

最近的脚本因为涉及到一些计算,比方乘以80%,乘以1.2,除以80%这种的,有时候希望能得到小数,有时候希望结果是截断小数的,但是实际计算的时候还是迷迷糊糊的,所以特此整理一下。

1.首先来几个实验验证一下:

bc下的数学计算

从上面这个图中可以看到,在bc的交互命令模式下:
1+2=3
1*0.8=.8  这里还是希望结果是0.8
10*1.23=12.3
1/5=0
22/5=4  整数的除法是截断的,24/5=4.8,截断之后仍然是4,有时候我们会希望四舍五入,有时候我们希望保留两位小数。
继续了解一下,会有
0.8/2 =0
1/0.8 =1
1*5/4=1
这些结果。


那我们开始解决一些疑问吧:
1.1/0.8=.8如何得到0.8的结果?
2.1/5=0如何得到0.2的结果&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值