shell浮点运算
bash内置了对整数四则运算的支持,但不支持浮点运算。
有两种方法:
- 借助bc(需系统安装)
yms@ubuntu:~/sunrise/shell$ echo $((5-4)) 1 yms@ubuntu:~/sunrise/shell$ echo $((5.9-4.1)) -bash: 5.9-4.1: syntax error: invalid arithmetic operator (error token is ".9-4.1") yms@ubuntu:~/sunrise/shell$ c=$(echo 5.9-4.1 | bc) yms@ubuntu:~/sunrise/shell$ echo $c 1.8
- 使用awk printf
yms@ubuntu:~/sunrise/shell$ awk 'BEGIN{printf "%.2f\n",(5.9-4.1)}' 1.80
awk引用变量:’${val}’、‘“”${}“”’、 “’${}’”;推荐使用"’${}’",双引号,单引号,变量,单引号,双引号
#!/bin/bash
a=4.5
b=3.2
awk 'BEGIN{printf "%.2f\n",(4.5+3.2)}'
awk 'BEGIN{printf "%.2f\n",("'${a}'"+"'${b}'")}'
运行结果:
7.70
7.70