Di MySQL, ROUND()
fungsi memungkinkan Anda untuk membulatkan angka ke atas atau ke bawah ke sejumlah tempat desimal tertentu.
Cara kerjanya adalah, Anda memberikan nomor sebagai argumen, dan Anda memiliki pilihan untuk memilih berapa banyak tempat desimal untuk membulatkan angka. Jika Anda tidak menentukan jumlah tempat desimal, hasilnya tidak akan memiliki tempat desimal.
Sintaks
Fungsi ini dapat digunakan dengan salah satu cara berikut:
ROUND(X) ROUND(X,D)
Dimana X
adalah nomor dan D
adalah jumlah tempat desimal yang Anda inginkan untuk dibulatkan. Jika Anda menghilangkan D
, angka akan dibulatkan menjadi nol desimal.
Juga, D
bisa negatif. Ini menghasilkan D
digit kiri dari titik desimal dari nilai X
menjadi nol.
Contoh 1 – Menggunakan Satu Argumen
Berikut adalah contoh dasar untuk menunjukkan apa yang terjadi ketika kami tidak memberikan argumen kedua.
SELECT ROUND(1.49) Result;
Hasil:
+--------+ | Result | +--------+ | 1 | +--------+
Dalam hal ini angka dibulatkan ke bawah ke bilangan bulat terdekat.
Jika kita menambah bagian pecahan, inilah yang terjadi:
SELECT ROUND(1.50) Result;
Hasil:
+--------+ | Result | +--------+ | 2 | +--------+
Dalam hal ini, angkanya dibulatkan ke atas.
Contoh 2 – Menggunakan Dua Argumen
Inilah cara kita dapat menggunakan argumen kedua untuk menentukan tempat desimal untuk membulatkan angka.
SELECT ROUND(1.234, 2) Result;
Hasil:
+--------+ | Result | +--------+ | 1.23 | +--------+
Dan inilah yang terjadi ketika saya menambah angka terakhir menjadi 5:
SELECT ROUND(1.235, 2) Result;
Hasil:
+--------+ | Result | +--------+ | 1.24 | +--------+
Tentu saja, kita bisa menggunakan lebih banyak tempat desimal. Misalnya, kita bisa memangkas banyak desimal ke bawah.
SELECT ROUND(1.23456789123456789, 8) Result;
Hasil:
+------------+ | Result | +------------+ | 1.23456789 | +------------+
Atau kita bisa menambah jumlah tempat desimal.
SELECT ROUND(1.234, 8) Result;
Hasil:
+------------+ | Result | +------------+ | 1.23400000 | +------------+
Contoh 3 – Menggunakan Nilai Negatif untuk Argumen Kedua
Berikut cara menggunakan nilai negatif pada argumen kedua untuk membuat bagian non-fraksional dibulatkan menjadi nol.
SELECT ROUND(123.456, -1) Result;
Hasil:
+--------+ | Result | +--------+ | 120 | +--------+
Dan begini cara pembulatannya jika kita menambah 3
ke 5
atau lebih.
SELECT ROUND(125.456, -1) Result;
Hasil:
+--------+ | Result | +--------+ | 130 | +--------+
Contoh 4 – Pembulatan Bilangan Negatif vs Bilangan Positif
Seperti yang terlihat pada contoh sebelumnya, saat menggunakan bilangan positif, nilai dengan bagian pecahan .5 atau lebih besar dibulatkan ke atas ke bilangan bulat berikutnya.
Namun, saat menggunakan angka negatif, nilai tersebut dibulatkan bawah .
SELECT ROUND(1.50) Positive, ROUND(-1.50) Negative;
Hasil:
+----------+----------+ | Positive | Negative | +----------+----------+ | 2 | -2 | +----------+----------+
Membulatkan Perkiraan-Angka Nilai
Aturan pembulatan di atas hanya berlaku untuk bilangan dengan nilai eksak. Untuk angka nilai perkiraan, hasilnya tergantung pada pustaka C. Dokumentasi MySQL menyatakan ini tentang angka nilai perkiraan:
Pada banyak sistem, ini berarti
ROUND()
menggunakan aturan “pembulatan ke genap terdekat”:Nilai dengan bagian pecahan tepat di tengah-tengah antara dua bilangan bulat dibulatkan ke bilangan bulat genap terdekat.
Dan inilah contoh yang digunakan pada halaman tersebut:
SELECT ROUND(2.5), ROUND(25E-1);
Hasil:
+------------+--------------+ | ROUND(2.5) | ROUND(25E-1) | +------------+--------------+ | 3 | 2 | +------------+--------------+