Menampilkan 2 Angka Belakang Koma dengan Java

Beberapa hari yang lalu, ada yang nanyain ke gw tentang cara nampilin sebuah hasil pembagian biar jadi 2 angka belakang koma di java. Well, sebenernya ini hal dasar yang musti diketahui pas pertama kali belajar java. Minimal nyentuh bahasa pemrograman java lhah… Tapi tampak para dosen jaman sekarang lebih focus berkutat sama logika dan proses pembelajaran dibandingkan hasil akhir, jadilah akhirnya pas nemu kasus beneran, ada ajah pertanyaan “lucu” kayak gitu.

Eh tapi gw gak maksud memojokkan dosen jaman sekarang lhoh yah… Buktinya masih ada kok yang gak gitu. Contoh aja senpai gw yang baru lulus S2. Kata senpai gw, di era digital dengan keberadaan internet di mana semua  source bisa didapatin dengan gampang, yang diperluin ama mahasiswanya itu skill buat ngebaca dokumentasi atau paling gak, tahu keyword buat nyari di stackoverflow atau google.

Balik lagi ke kasus awal kita… Sebenernya ada beberapa cara buat nampilin 2 angka belakang koma. Beberapa di antaranya yaitu:

1. Menggunakan decimal format

import java.text.DecimalFormat;

public class NewClass1 {
    public static void main(String[] args) {
        double x = 0.92837;
        DecimalFormat df = new DecimalFormat("#.##");
        System.out.println(df.format(x));
    }
}

Hasil akhir:

1. Hasil Decimal Format

Angka signifikan di belakang koma bisa kamu ganti di parameter dalam konstruktor DecimalFormat (yang ada karate pagar—baris warna merah). Contohnya, kalo kamu mau ganti 3 angka belakang koma, bisa pake format (#.###).

2. Menggunakan format String (String.format).

Contoh:

public class NewClass1 {
    public static void main(String[] args) {
        double x = 0.92837;
        System.out.println(String.format("%.2f", x));
    }
}

Hasil akhir bakal sama kayak di atas, dan kalo kamu butuh penambahan angka signifikan, tinggal ganti parameter di method format dari class String. Jadi kalo butuh 3 angka belakang koma, ubah baris buat nampilin jadi kayak gini: “System.out.println(String.format(“%.3f”, x));”. Parameter %.2f itu maksudnya, tampilkan sebuah float dengan angka belakang koma sebanyak 2, dan ikutin aja polanya. Seandainya butuh 5 angka belakang koma, kamu bisa kasih parameter %.5f.

3. System.out.printf (Favorit gw)

Contoh:

public class NewClass1 {
    public static void main(String[] args) {
        double x = 0.92837;
        System.out.printf("%.2f",x);
    }
}

Hasilnya sama ama kayak di atas, dan pola parameter juga sama. Kalo mau digabung sama string lain juga gampang. Anggap kamu mau nampilin variabel x jadi gini: “Hasil: 0.928”, kamu bisa ubah baris printf jadi kayak gini: “System.out.printf(“Hasil: %.3f \n”,x);”. Kalo karakter \n itu maksudnya buat nambah baris baru.

4. Membulatkan isi/nilai variabel

Hal-hal sebelumnya dimaksudkan biar kita bisa nampilin bilangan berkoma banyak jadi tampil dengan beberapa angka signifikan belakang koma. Tapi, kalo ternyata yang kamu mau itu gak cuma sekedar menampilkan, tapi juga mengubah isi variabel menjadi bentuk pembulatan, kamu bisa ngelakuin trik semacam ini:

public class NewClass1 {
    public static void main(String[] args) {
        double x = 0.92837;
        int angkaSignifikan = 2;
        double temp = Math.pow(10, angkaSignifikan);
        double y = (double) Math.round(x*temp)/temp;
        System.out.println("Sebelum Pembulatan: "+x);
        System.out.println("Setelah Pembulatan: "+y);
    }
}

Hasilnya jadi kayak gini:

2. Pembulatan

Kalo kamu mau ngubah jumlah angka signifikan belakang koma, kamu bisa ubah2 nilai di variabel angkaSignifikan.

Valid: Yap
Masa Kadaluarsa: Teruji di Java 1.7.0_55
Sumber:
– http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java
– http://stackoverflow.com/questions/16408253/rounding-off-2-decimal-places-in-java-for-whole-number

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s