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