Linux Shell 小數比較



#!/bin/bash

#######expr 方法是錯誤的,在比較相同位數時可以,當位數不同就會出錯,如100.00>70.00就會得出錯誤的結果

a=123
b=123
c=99.99
rat=`awk 'BEGIN{printf "%.2f\n",('${a}'/'${b}')*100}'`
echo $rat
if [[ `expr ${rat} \> 70.00` -eq 0 ]];then
echo 0
else
echo 1
fi


if [[ `expr ${c} \> 70.00` -eq 0 ]];then
echo 0
else
echo 1
fi

##################借助linux 計算器bc命令比較,可以得出可依賴的結果
if [[ $(echo "$rat > 70.00"|bc) -eq 1 ]]; then

echo "-------"
else
echo "+++++++"
fi


if [[ $(echo "${c} > 70.00"|bc) -eq 1 ]]; then

echo "-------"
else
echo "+++++++"
fi

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM