Pembulatan Angka Desimal pada Java

Ada beberapa cara pembulatan pada java. Misalnya pada angka 2.123456 ingin kita bulatkan dengan dua angka di belakang koma sehingga menjadi 2.12. Untuk kasus contoh ini caranya adalah sebagai berikut:

 
double a1 = 2.123456;

DecimalFormat twoDForm = new DecimalFormat("#.##");
double a2 = Double.valueOf(twoDForm.format(a1));
System.out.println(a2);

// jika dikalikan maka yang digunakan adalah angka yang terakhir (a2) bukan yang awal (a1):
double a3 = a2 * 123;
System.out.println(a3);


“#.##” menunjukkan dua angka di belakang koma, kalau empat angka tinggal tambahkan tanda ‘#’ empat angka di belakang koma.

-= Sapto Sutardi =-

Mataram, 18 Agustus 2010

13 responses to this post.

  1. Posted by justier on Maret 22, 2011 at 4:58 pm

    thanks gan,,sangat membantu….
    dan mudah dimengerti….
    good job….^^

    Balas

  2. Posted by aisha on Agustus 22, 2011 at 1:10 pm

    makasi… 🙂

    Balas

  3. Posted by sadd on Oktober 13, 2011 at 7:17 pm

    gan itu pembulatan juga atau hanya menampilkan 2 di blakang koma??
    contohnya
    klo 2,427 di bulatkan 2 di blakang koma kan jadinya 2,43
    atau
    2,42
    thx gan sebelumnya

    Balas

  4. Posted by koko on Oktober 22, 2011 at 9:57 am

    Koq panjang ya,,, beda sama yang di c atau pascal.
    kalo di C kan cuma %5.2f , dimana 5 adl angka didepan koma dan dua angka dibelakang koma,,,
    sedang di pascal cuma nama_variabel:5:2 dimana 5 adl angka didepan koma dan dua angka dibelakang koma,,,

    Balas

  5. Posted by ilhamia on November 27, 2011 at 8:10 pm

    gimana kalo pembulatan yang ada pd JFrame…??? mohon bantuannya…

    Balas

  6. kok ga bisa om? pesan yang keluar kaya gini

    “Exception in thread “main” java.lang.Error: Unresolved compilation problems:
    DecimalFormat cannot be resolved to a type
    DecimalFormat cannot be resolved to a type

    at desimal.main(desimal.java:10)”

    ini syntak nya

    public class desimal {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    double a1 = 2.123456;
    DecimalFormat twoDForm = new DecimalFormat(“#.##”);
    double a2 = Double.valueOf(twoDForm.format(a1));
    System.out.println(a2);
    // jika dikalikan maka yang digunakan adalah angka yang terakhir (a2) bukan yang awal (a1):
    double a3 = a2 * 123;
    System.out.println(a3);

    }

    }

    Balas

  7. Posted by Riyan on Desember 20, 2011 at 7:58 pm

    kalo ga pake koma gemana.?

    Balas

  8. Ada cara yang lebih mudah ngak?
    Ngak pake BigDecimal.

    Balas

  9. gak jalan karena titik diubah menjadi koma sehingga tidak bisa di convert ke Double.

    mohon koreksinya…

    Balas

  10. Posted by sugi on November 30, 2014 at 9:01 pm

    klu doble it kita ganti float, kok ga bisa gan..mohon penjelasan lebih lanjut.tks

    Balas

Tinggalkan komentar