0Pricing
Java Academy · Pelajaran

Pembulatan dan Skala

Kendalikan presisi dan mode pembulatan

Pembulatan dan Skala adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.

Scale dan Precision

Setiap BigDecimal memiliki scale, yaitu jumlah digit di sebelah kanan titik desimal. Nilai 12.340 memiliki scale sebesar 3. Mengendalikan scale memungkinkan Anda menampilkan uang dengan tepat dua angka desimal.

Memeriksa Scale

Panggil scale() untuk melihat jumlah tempat desimal yang dimiliki suatu nilai, dan precision() untuk melihat jumlah total digit pentingnya.

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        BigDecimal v = new BigDecimal("12.340");
        System.out.println(v.scale());
        System.out.println(v.precision());
    }
}

setScale untuk Menetapkan Desimal

setScale memaksa suatu nilai menggunakan jumlah tempat desimal yang dipilih. Anda harus meneruskan RoundingMode jika pembulatan diperlukan.

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        BigDecimal v = new BigDecimal("12.3456");
        System.out.println(v.setScale(2, RoundingMode.HALF_UP));
    }
}

Pembulatan ke Terdekat, Modus Umum

RoundingMode.HALF_UP membulatkan ke nilai terdekat, dan jika berada tepat di tengah, pembulatan dilakukan menjauhi nol. Inilah pembulatan sehari-hari yang dipelajari di sekolah.

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        System.out.println(new BigDecimal("2.5").setScale(0, RoundingMode.HALF_UP));
        System.out.println(new BigDecimal("3.5").setScale(0, RoundingMode.HALF_UP));
    }
}

Pembulatan ke Genap, Pembulatan Perbankan

HALF_EVEN membulatkan nilai yang tepat di tengah menuju digit genap terdekat. Cara ini mengurangi bias setelah banyak pembulatan, sehingga disukai oleh bank.

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        System.out.println(new BigDecimal("2.5").setScale(0, RoundingMode.HALF_EVEN));
        System.out.println(new BigDecimal("3.5").setScale(0, RoundingMode.HALF_EVEN));
    }
}

CEILING dan FLOOR

CEILING selalu membulatkan menuju tak terhingga positif, sedangkan FLOOR selalu membulatkan menuju tak terhingga negatif, terlepas dari digit yang dihilangkan.

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        BigDecimal v = new BigDecimal("2.1");
        System.out.println(v.setScale(0, RoundingMode.CEILING));
        System.out.println(v.setScale(0, RoundingMode.FLOOR));
    }
}

DOWN dan UP

DOWN memotong menuju nol, sedangkan UP selalu membulatkan menjauhi nol. DOWN adalah pemotongan sederhana.

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        BigDecimal v = new BigDecimal("2.9");
        System.out.println(v.setScale(0, RoundingMode.DOWN));
        System.out.println(v.setScale(0, RoundingMode.UP));
    }
}

Pembulatan Selama Pembagian

Pembagian dapat menghasilkan desimal tanpa akhir, jadi Anda memberikan scale dan modus pembulatan langsung dalam pemanggilan divide.

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        BigDecimal bill = new BigDecimal("100.00");
        BigDecimal people = new BigDecimal("3");
        System.out.println(bill.divide(people, 2, RoundingMode.HALF_UP));
    }
}

Menghapus Nol di Belakang

stripTrailingZeros menghapus nol tambahan. Gabungkan dengan toPlainString untuk menghindari notasi ilmiah pada keluaran.

import java.math.BigDecimal;

public class Main {
    public static void main(String[] args) {
        BigDecimal v = new BigDecimal("12.300");
        System.out.println(v.stripTrailingZeros().toPlainString());
    }
}

Memformat Uang

Untuk tampilan, tetapkan scale ke 2 dengan HALF_UP agar harga selalu menampilkan dua tempat desimal, termasuk jumlah bulat.

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
    public static void main(String[] args) {
        BigDecimal amount = new BigDecimal("7");
        System.out.println(amount.setScale(2, RoundingMode.HALF_UP));
    }
}

Memilih Modus

Pilih HALF_UP untuk pembulatan biasa yang dilihat pengguna dan HALF_EVEN untuk akuntansi guna mengurangi bias kumulatif. Selalu nyatakan modus agar kode Anda tidak pernah menimbulkan kesalahan pada hasil yang tidak berhingga.

Pemeriksaan Singkat

Uji pengetahuan Anda tentang scale dan pembulatan.

Ringkasan

Anda telah mempelajari cara mengendalikan precision:

  • Scale adalah jumlah digit setelah titik desimal
  • setScale menetapkan tempat desimal dan memerlukan RoundingMode
  • HALF_UP adalah pembulatan sehari-hari, sedangkan HALF_EVEN adalah pembulatan perbankan
  • CEILING, FLOOR, UP, dan DOWN mencakup pembulatan berdasarkan arah
  • Selalu tentukan modus untuk pembagian agar terhindar dari pengecualian

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pembulatan dan Skala” gratis?

Ya — teks lengkap “Pembulatan dan Skala” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pembulatan dan Skala”?

Kendalikan presisi dan mode pembulatan Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Pembulatan dan Skala” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa Bukan double untuk Uang
  2. Bekerja dengan BigDecimal
  3. Pembulatan dan Skala
  4. BigInteger untuk Bilangan Besar
← Kembali ke Java Academy