GNU/Linux >> Belajar Linux >  >> Linux

Membulatkan angka yang dibagi dalam Bash

Untuk melakukan pembulatan ke atas dalam memotong aritmetika, cukup tambahkan (denom-1) ke pembilang.

Contoh, pembulatan ke bawah:

N/2
M/5
K/16

Contoh, pembulatan ke atas:

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

Untuk melakukan pembulatan ke terdekat, tambahkan (denom/2) ke pembilang (bagian akan dibulatkan):

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

Solusi yang baik adalah mendapatkan Angka Bulat Terdekat adalah

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

Logikanya sederhana jika nilai desimal var kurang dari 0,5 maka nilai terdekat yang diambil adalah nilai integer. Nah jika nilai desimal lebih dari 0,5 maka nilai bilangan bulat berikutnya akan ditambahkan dan sejak awk maka hanya mengambil bagian bilangan bulat. Masalah terpecahkan


Linux
  1. GNU Octave, membulatkan angka ke presisi satuan

  2. Bagaimana cara menambahkan ikon ke prompt bash

  3. Bagaimana saya bisa menghitung jumlah karakter dalam variabel Bash

  1. Melampirkan Vs. Tidak Melampirkan Nilai Variabel Dalam Kutipan Di Bash?

  2. Membulatkan Bilangan dengan bc di Bash

  3. cara menggeser nilai array di bash

  1. Tingkatkan Nomor Bangun Di Bash?

  2. Bagaimana Cara Membaca String Sebagai Angka Hex Di Bash?

  3. Bagaimana cara menguji apakah suatu variabel adalah angka di Bash?