import java.math.*;
public class MyMath {
public static double add(double d1,double d2)
{
BigDecimal b1=new BigDecimal(d1);//将double类型的数据转化为BigDecimal类型的数据
BigDecimal b2=new BigDecimal(d2);
return b1.add(b2).doubleValue();//将的到的;两个decimal类型的数据的和转化为double类型的数据
}
public static double sub(double d1,double d2)
{
BigDecimal b1=new BigDecimal(d1);
BigDecimal b2=new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
public static double mul(double d1,double d2)
{
BigDecimal b1=new BigDecimal(d1);
BigDecimal b2=new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
public static double div(double d1,double d2,int len)
{
BigDecimal b1=new BigDecimal(d1);
BigDecimal b2=new BigDecimal(d2);
//BigDecimal.ROUND_HALF_UP是一个常量,表示进行四舍五入操作,表示b2除以b1后进行四舍五入保留len位小数
return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue();
}
//对传入的参数d进行四舍五入后保留len位小数
public static double round(double d,int len)
{
BigDecimal b1=new BigDecimal(d);
BigDecimal b2=new BigDecimal(1);
return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
public class BigDecimalDemo01 {
public static void main(String[] args) {
System.out.println("加法运算:"+MyMath.add(10.345, 3.333));
System.out.println("减法操作:"+MyMath.sub(10.345, 3.333));
System.out.println("乘法操作:"+MyMath.mul(10.345, 3.333));
System.out.println("除法操作:"+MyMath.div(10.345, 3.333, 3));
//将减法操作后的到的数据重新进行四舍五入后保留三位小数
System.out.println("减法运算保留三位小数:"+MyMath.round(MyMath.sub(10.345, 3.333),3));
}
}