Java常用api_ BigDecimal的基本运算

Java常用api_ BigDecimal的基本运算

构造方法

 BigDecimal bgInt = new BigDecimal(int i);
 BigDecimal bgDouble = new BigDecimal(double d);//不建议会存在精度丢失问题,若必须建议转String。
 BigDecimal bgStr = new BigDecimal(String str);

加减乘除

注意:BigDecimal参数 进行运算时只能对BigDecimal 参数运行

		BigDecimal a = new BigDecimal("2.3");
        BigDecimal b = new BigDecimal("3.2");
    加:   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));
    除法可以传三个参数,仅传一个参数时若除不尽则会报错
	 a.divide(b, int scale, int roundingMode)
	 第一参数表示除数, 同样为BigDecimal 类型。
	 第二个参数表示小数点后保留位数,
	 第三个参数表示舍入模式,只有在作除法运算或四舍五入时才用到舍入模式,
	 第三个参数这里我们可以用到java.math.RoundingMode 几个参数。
	
RoundingMode.CEILING:取右边最近的整数

RoundingMode.DOWN:去掉小数部分取整,也就是正数取左边,负数取右边,相当于向原点靠近的方向取整

RoundingMode.FLOOR:取左边最近的正数

RoundingMode.HALF_DOWN:五舍六入,负数先取绝对值再五舍六入再负数

RoundingMode.HALF_UP:四舍五入,负数原理同上

RoundingMode.HALF_EVEN:这个比较绕,整数位若是奇数则四舍五入,若是偶数则五舍六入

       System.out.println("a / b =" + a.divide(b,3,RoundingMode.HALF_UP));
       控制台打印结果,表示a/b保留三位小数,舍入方式为四舍五入
     a / b =0.719

取余

	BigDecimal a = new BigDecimal("5");
    BigDecimal b = new BigDecimal("3");
	BigDecimal[] bigs=a.divideAndRemainder(b);
	System.out.println("商"+bigs[0]);//商
    System.out.println("余数"+bigs[1]);//余数
    //控制台输出结果
    商1
	余数2

a.divideAndRemainder(b);方法接收另一个BigDecimal 对象作为参数,该参数即为除数,返回一个BigDecimal数组,返回数组中包含两个元素,第一个元素为两数相除的商,第二个元素为余数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值