import java.math.BigDecimal;
class MyClass
{
public static double add(double d1,double d2)
{
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue();
}
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);
return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round (double d1,int len )
{
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(1);
return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue();
}
//在使用BigDecimal类时,返回语句要加上.doubleValue();
//表示将此BigDecimal值转换为double
}
public class BigDecimalDemo
{
/**
* @param args
*/
public static void main(String[] args)
{
System.out.println("加法:"+MyClass.round(MyClass.add(10.345, 3.333), 1));
System.out.println("乘法:"+MyClass.round(MyClass.mul(10.345, 3.333), 3));
System.out.println("除法:"+MyClass.div(10.345, 3.333,3));
System.out.println("减法:"+MyClass.round(MyClass.sub(10.345, 3.333), 3));
}
}