因为以前这个类用的很少,于是整理出了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();