Salida incorrecta al comparar flotadores

Salida incorrecta al comparar flotadores

Estoy intentando comparar dos flotadores en bash y algo va mal. Aquí está el ejemplo de código basado en la solución.aquí

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

Espero el resultado 1del primer eco y 0del segundo eco, pero en lugar de eso obtengo 0el primero y 1el segundo. ¿Qué hay de malo en esta entrada? ¿Cómo conseguir una comparación coherente de estos flotadores?

Respuesta1

awkciertamente puede hacer comparaciones flotantes si se llama desde su script de 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

información relacionada