Jan 7, 2014

Java BigDecimal, Beware!!!

Java BigDecimal Merupakan Object java yang memiliki presisi yang tinggi bahkan lebih besar dari object Double, BigDecimal biasanya digunakan untuk melakukan perhitungan dengan sangat memperhatikan presisi(koma). Sepengalaman saya sebagai programmer BigDecimal saya gunakan untuk melakukan perhitungan financial (dalam artian uang). Namun kita hati hati menggunakan BigDecimal karane BigDecimal mempunyai karakter yang sedikit berbeda dengan object java lain nya. Berikut saya lampirkan dalam Contoh

import java.math.BigDecimal;

public class BigMistake { 
 public static void main(String []args){
  //Real Value
  double value=0.1d;
  // Instance Object Big Decimal
  BigDecimal _bd1=new BigDecimal(value);
  BigDecimal _bd2=new BigDecimal(""+value);
  BigDecimal _bd3=BigDecimal.valueOf(value);
  System.out.println("===========Print Value=========");
  System.out.println("_bd1 value is "+_bd1.toString());
  System.out.println("_bd2 value is "+_bd2.toString());
  System.out.println("_bd3 value is "+_bd3.toString());
 }
 /* Java Recommendation BigDecimal 
  * 1. new BigDecimal(String);
  * 2. BigDecimal.valueOf();
  * http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html
  */
}

Result ========================================

2 comments:

ako said...

tak kusangka hasilnya begitu gan,salah nebak gan :D

krisna said...

Banyak mistery di java gan :p