GNU/Linux >> Tutoriales Linux >  >> Linux

Redondear un número dividido en Bash

Para redondear al truncamiento aritmético, simplemente agregue (denom-1) al numerador.

Ejemplo, redondeando hacia abajo:

N/2
M/5
K/16

Ejemplo, redondeando hacia arriba:

(N+1)/2
(M+4)/5
(K+15)/16

Para redondear al más cercano, agregue (denom/2) al numerador (las mitades se redondearán hacia arriba):

(N+1)/2
(M+2)/5
(K+8)/16

Una buena solución es obtener el número redondo más cercano es

var=2.5
echo $var | awk '{print int($1+0.5)}'

La lógica es simple si el valor decimal de var es menor que .5, entonces el valor más cercano tomado es un valor entero. Bueno, si el valor decimal es mayor que .5, entonces se agrega el siguiente valor entero y, dado que awk, solo toma la parte entera. Problema resuelto


Linux
  1. ¿Cómo pruebo si una variable es un número en Bash?

  2. Obtenga el número entero del techo del número en Linux (BASH)

  3. GNU Octave, redondea un número a unidades de precisión

  4. ¿Cómo usar kill SIGUSR2 en bash?

  5. cómo cambiar el valor de la matriz en bash

Golpe para bucle

Bash Shebang

Expresión de secuencia Bash (rango)

Bash Select (hacer menús)

Bash For Loop:la guía más práctica

Shell/Bash Script para encontrar números primos en Linux