GNU/Linux >> Linux の 問題 >  >> Linux

Bashで割った数を四捨五入する

切り捨て演算で切り上げを行うには、単純に (denom-1) を追加します

例、切り捨て:

N/2
M/5
K/16

例、切り上げ:

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

最も近いものに丸めるには、(denom/2) を追加します 分子に (半分は切り上げられます):

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

良い解決策は、最も近いラウンド数を取得することです

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

var decimal 値が .5 未満の場合、論理は単純で、取得される最も近い値は整数値です。 10 進数値が .5 を超える場合、次の整数値が追加され、awk が整数部分のみを取得するためです。問題が解決しました


Linux
  1. Bashで変数が数値かどうかをテストするにはどうすればよいですか?

  2. Linux(BASH)で数値から上限整数を取得する

  3. GNU Octave、数値を単位精度に丸める

  1. bash プロンプトにアイコンを追加する方法

  2. Bash変数の文字数をカウントするにはどうすればよいですか

  3. 限られた数のコマンドを並行して処理する Bash スクリプト

  1. Bashでビルド番号を増やしますか?

  2. Bashでbcを使用して数値を丸める

  3. bashで配列値をシフトする方法