Comparar decimales en Bash II
domingo, 1 de septiembre de 2013Hace tiempo puse un método para la comparación de números decimales en Bash. Aunque funciona perfectamente no deja de ser algo chapuza multiplicar por 100000 para eliminar los decimales. Ignoraba que la misma orden que se usa para hacer las operaciones aritméticas, BC, admite también las comparaciones (< menor que, > mayor que) con ó sin decimales con lo cual además de elegante se acorta la tarea ya que la comparación se hace al mismo tiempo que la operación aritmética. Infinitamente más elegante es hacer esto:
a=12.2
b=24.4
if [ 1 -eq $(echo "($a - $b) > 0" | bc) ]; then
echo "A es mayor que B"
else
echo "B es mayor que A"
fi
21 de December, 2024 @ 17:04