shell 使用bc处理浮点数运算

在shell下shell

首先 通常的整数运算能够用 expr这个命令解决,expr命令通常用于整数值,但也可用于字符串。通常格式为:
expr argument operator argument
expr也是一个手工命令行计数器。
$expr 10 + 10
20
$expr 1500 + 900
2500
$expr 30 / 3
10
$expr 30 / 3 / 2
5
(注意运算符左右都有空格 ,若是没有空格表示是字符串链接)
使用乘号时,必须用反斜线屏蔽其特定含义。由于shell可能会误解显示星号的意义。
$expr 30 * 3
90命令行

 

 

可是shell不能处理浮点数——悲剧啊!!也就是说 while [ 0.1 -le 1] 它会报错的, 它不知道0.1是啥rest

这个时候要解决两个问题:字符串

1, 如何计算 0.1 + 0.1,变量

用bc命令啦, 呵呵脚本

这里有一个简单的使用 bc 命令的模版能够用来在计算脚本中的变量. 用在命令替换 中.模版

variable=$(echo "OPTIONS; OPERATIONS" | bc)while

如:interest_rate=$(echo "scale=9; $interest_r/12 + 1.0" | bc)字符

也就是说 i=$(echo "0.1 + 0.1"|bc)浮点数

i的值就是0.2了哦

相关文章
相关标签/搜索