BigDecimal 类型数据的加、减、乘、除以及格式化

 我们在开始做项目的时候一般都会用Double来处理比较大的带小数的数据,但是在小数点后面的位数多了的情况可能会出现失真,也就是3.121可能在显示的时候会是3.12099998这种情况。所以我们要用BigDecimal类型对数字进行一些操作。用BigDecimal就避免不了的会做一些加减乘除的操作,现在我们就讲一下怎么对BigDecimal类型的数据做加减乘除操作。

public static void mian(String [] arg){

            //先定义三个个BigDecimal类型的数据

     BigDecimal  date1 =new BigDecimal (15.12);

     BigDecimal  date2=new BigDecimal (12.31);

     BigDecimal  date3 =new BigDecimal (0);

   //先做一下加法运算

   date3=date1.add(date2);

   System.out.println("date1+date2:"+date3.toString());

   date3=date1.subtract(date2);

   System.out.println("date1-date2:"+date3.toString());

   date3=date1.multiply(date2);

   System.out.println("date1*date2:"+date3.toString());

   date3=date1.divide(date2,4(保留几位小数),BigDecimal.ROUND_HALF_UP(四舍五入的方式));

   System.out.println("date1/date2:"+date3.toString());

   //对date3进行一下格式化

  java.text.DecimalFormat myformat=new java.text.DecimalFormat("0.00");   //0.00两位小数0.000三位小数以此类推

  String str = myformat.format(date3);   

  System.out.println("格式化后的date3:"+date3.toString());

}


你可能感兴趣的:(java)