comparable 接口的使用示例

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));

}

}


你可能感兴趣的:(comparable 接口的使用示例)