shell浮點運算

shell浮點運算

bash內置了對整數四則運算的支持,但不支持浮點運算。

有兩種方法:

  1. 藉助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
    
  2. 使用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章