Cuaderno de Campo

Hace 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

© Cuaderno de campo es un blog personal mantenido y desarrollado por Trebol-a y en el que participan Trebol-a, Miguel, Mónica y Merche.

Todo el material de textos, fotografías y vídeos aquí publicado (y salvo que se exprese lo contrario) se hace bajo licencia Creative Commons, para cualquier duda o aclaración puedes dirigirte a Trebol-a por correo electrónico.