比較浮點數時輸出錯誤

比較浮點數時輸出錯誤

我試著比較 bash 中的兩個浮點數,但出了問題。這是基於解決方案的程式碼範例這裡

num1=0.502E-01
num2=0.01
echo $num1'>'$num2 | bc -l
echo $num2'>'$num1 | bc -l

1我期望第一個迴聲和0第二個迴聲的輸出,但我得到的0是第一個和1第二個迴聲。這個輸入有什麼問題嗎?如何得到這些浮點數的一致比較?

答案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

相關內容