java.math.BigDecimal

因为以前这个类用的很少,于是整理出了java.math.BigDecimal的加减乘除:
BigDecimal bignum1 = new BigDecimal(“10”);
BigDecimal bignum2 = new BigDecimal(“5”);
BigDecimal bignum3 = null;

    //加法
    bignum3 =  bignum1.add(bignum2);     
    System.out.println("和 是:" + bignum3);

    //减法
    bignum3 = bignum1.subtract(bignum2);
    System.out.println("差  是:" + bignum3);

    //乘法
    bignum3 = bignum1.multiply(bignum2);
    System.out.println("积  是:" + bignum3);

    //除法
    bignum3 = bignum1.divide(bignum2);
    System.out.println("商  是:" + bignum3);

BigDecimal与Double互相转换:
//double转换为BigDecimal
public static void main(String[] args) {
double d = 1.1;
BigDecimal bd1 = new BigDecimal(d); //(1)
BigDecimal bd2 = BigDecimal.valueOf(d);//(2)
BigDecimal bd3 = new BigDecimal(“1.1”);//(3)

System.out.println(bd1);//打印                                //1.100000000000000088817841970012523233890533447265625 
System.out.println(bd2);//打印1.1 
System.out.println(bd3);//打印1.1 

System.out.println(bd1.compareTo(bd2));//打印1 
System.out.println(bd1.compareTo(bd3));//打印1 
System.out.println(bd2.compareTo(bd3));//打印0 

}
用(1)方法传double直接new BigDecimal,数会变大,(2)(3)不会。
//BigDecimal转换为double:
BigDecimal a = new BigDecimal(1000);
return a.doubleValue();

猜你喜欢

转载自blog.csdn.net/luuvyjune/article/details/77412951