Shell脚本浮点运算

本文将介绍几种Linux下通过Shell脚本进行浮点数计算的方法。

Why

Bash Shell本身不具备处理浮点计算的能力, 如expr命令只支持整数运算 :

#!/bin/bash
a=59
b=60
expr $a / $b

运行结果 :

$ ./cal.sh
0
$

Plan A

使用bc进行处理。
代码 :

#!/bin/bash

a=59
b=60
echo "scale=4; $a / $b" | bc

运行结果 :

$ ./bc.sh
.9833
$

scale表示结果的小数精度。

Plan B

使用awk进行处理。
代码 :

#!/bin/bash
a=59
b=60
awk 'BEGIN{printf "%.2f\n",('$a'/'$b')}'

运行结果 :

$ ./awk.sh
0.98
$

Compare

使用bc :
bc

使用awk :
awk

可以看出使用awk的效率更高,特别是运算次数比较大时。

About me

forthebadge
- GitHub:AnSwErYWJ
- Blog:http://www.answerywj.com
- Email:yuanweijie1993@gmail.com
- Weibo:@AnSwEr不是答案
- CSDN:AnSwEr不是答案的专栏

Creative Commons License This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值