GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Runden Sie eine geteilte Zahl in Bash

Um beim Abschneiden der Arithmetik aufzurunden, fügen Sie einfach (denom-1) hinzu zum Zähler.

Beispiel, Abrunden:

N/2
M/5
K/16

Beispiel zum Aufrunden:

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

Um auf den nächsten Wert zu runden, fügen Sie (denom/2) hinzu zum Zähler (halbe werden aufgerundet):

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

Eine gute Lösung ist, die nächste Rundenzahl zu erhalten, ist

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

Die Logik ist einfach, wenn der var-Dezimalwert kleiner als 0,5 ist, dann ist der nächste genommene Wert ein ganzzahliger Wert. Nun, wenn der Dezimalwert mehr als 0,5 beträgt, wird der nächste ganzzahlige Wert hinzugefügt, und da awk dann nur einen ganzzahligen Teil übernimmt. Problem gelöst


Linux
  1. Einschließen Vs. Den Wert einer Variablen nicht in Anführungszeichen in Bash setzen?

  2. Build-Nummer in Bash erhöhen?

  3. Wie teste ich, ob eine Variable in Bash eine Zahl ist?

  4. Holen Sie sich die Ganzzahl der Obergrenze aus der Zahl in Linux (BASH)

  5. wie benutzt man kill SIGUSR2 in bash?

Bash für Schleife

Bash Shebang

Bash-Sequenzausdruck (Bereich)

Bash Select (Menüs erstellen)

Bash For Loop – Die praktischste Anleitung

Shell/Bash-Skript zum Finden von Primzahlen in Linux