Bigdecimal加减乘除

@Test

public void Bigdecimal加减乘除 () {

BigDecimal num1 = new BigDecimal(0.005);

BigDecimal num2 = new BigDecimal(1000000);

BigDecimal num3 = new BigDecimal(-1000000);

//尽量用字符串的形式初始化

BigDecimal a = new BigDecimal("4.5");

BigDecimal b = new BigDecimal("1.5");

BigDecimal c = new BigDecimal("-0.005");

System.out.println("a + b =" + a.add(b));

System.out.println( "a - b =" +a.subtract(b));

System.out.println("a * b =" +a.multiply(b));

System.out.println("a / b =" +a.divide(b));

}

public void test02() {

// BigDecimal num1 = new BigDecimal( "11");

// BigDecimal num2 = new BigDecimal( "3");

BigDecimal num1 = new BigDecimal( 0.03);

BigDecimal num2 = new BigDecimal( 0.26);

System.out.println("ROUND_CELING-------" + num1.divide(num2, 2 , BigDecimal.ROUND_CEILING));

System.out.println("ROUND_DOWN-------" + num1.divide(num2 ,2,BigDecimal.ROUND_DOWN));

System.out.println ("ROUND_FLOOR-------" + num1.divide(num2 , 2,BigDecimal.ROUND_FLOOR));

System.out.println("ROUND_HALF_DOWN----"+num1.divide(num2 , 2,BigDecimal.ROUND_HALF_DOWN));

System.out.println("ROUND_HALF_EVEN-------" + num1.divide(num2, 2, BigDecimal.ROUND_HALF_EVEN));

System.out.println("ROUND_HALF_UP-------" + num1.divide(num2 , 2,BigDecimal.ROUND_HALF_UP));

// System.out.println("ROUuID_UMWEDESSAR---"+ num1.divide(num2,2,BigDecimal.ROUND_UNNECESSARY));//如果我们的结果不是精确的,就会报错

System.out.println("ROUND_UP-------" + num1.divide(num2 , 2,BigDecimal.ROUND_UP));

//乘法 System.out.println("a * b =" +a.multiply(b));

// b1.multiply(b2).setScale(scale, roundingMode)

BigDecimal divide = num1.divide(num2, 2, BigDecimal.ROUND_UP);

System.out.println("num1.multiply(num2)-------" + divide.multiply(new BigDecimal( 100)).setScale(0, BigDecimal.ROUND_HALF_UP));

}

四,BigDecimal的比较

/**

比较两个BigDecimal的方法

1.equals() 并不是不能使用equals方法比较两个BigDecimal只是我们通常使用compareTo

2.compareTo() 通常使用

因此我们通常使用compareTo()方法来比较,它根据两个值的大小分别返回负数、正数和0,分别表示小于、大于和等于。

使用compareTo()比较两个BigDecimal的值,不建议使用equals()!!!!*/

//compareTo正数表示a1>a2, 返回为负数表示a1<a2, 返回为0表示a1==a2

/* BigDecimal diff = new BigDecimal("0.1");

System.out.println(diff.compareTo(new BigDecimal("100")));

if (diff.compareTo(new BigDecimal("100")) == -1) {

System.out.println("diff<result1:" + diff + "___" );

}*/

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值