Awk
比較浮點數時輸出錯誤
我正在嘗試比較 bash 中的兩個浮點數,但出了點問題。這是基於解決方案here的程式碼範例
num1=0.502E-01 num2=0.01 echo $num1'>'$num2 | bc -l echo $num2'>'$num1 | bc -l
我期望
1
第一個迴聲和0
第二個迴聲的輸出,但我得到0
的是第一個和1
第二個。這個輸入有什麼問題?如何獲得這些浮點數的一致比較?
awk
如果從您的 shell 腳本呼叫,當然可以進行浮點比較。num1=0.502E-01 num2=0.01 awk -v a="$num1" -v b="$num2" 'BEGIN{print(a>b)}' 1 awk -v a="$num1" -v b="$num2" 'BEGIN{print(b>a)}' 0