java之BigDecimal 介绍

概述:
   BigDecimal 是Java在java.math包中提供的API类,主要是用于金钱等要求高精度数值的计算。
  
 
1.转换为BigDecimal 类型

构造方法: BigDecimal bigDecimal = new BigDecimal (参数);

作用:会将括号内的值的类型转换为BigDecimal 类型

括号里面的值可以填以下图片里的类型
在这里插入图片描述
  
   
BigDecimal bigDecimal = BigDecimal.valueOf();

也能得到BigDecimal 类型的值,但是很明显,这个方法所能接受的参数的类型不如BigDecimal的构造方式的多
在这里插入图片描述

 
    

2.BigDecimal 的加减乘除

BigDecimal bigDecimal = new BigDecimal(3);

加法 :bigDecimal.add(BigDecimal )

减法:bigDecimal.subtract(BigDecimal )

乘法:bigDecimal.multiply(BigDecimal )

除法:bigDecimal.divide(BigDecimal )
  
以上括号内的参数都要是BigDecimal 的类型,并且方法的返回值都是Bigdecimal 类型。

注意:BigDecimal 的除法如果是不能整除出现了无限循环小数的时候,会报一个java.lang.ArithmeticException 异常
在这里插入图片描述
所以一般在做BigDecimal 除法的时候都会设置对应的小数位数和小数取舍规则,比如说:
  
  bigDecimal.divide(BigDecimal,2,BigDecimal.ROUND_HALF_UP)
  
其中的数字2表示的是保留2位小数,BigDecimal.ROUND_HALF_UP 表示的是四舍五入。

 
一般还有以下规则,以1/3为例。

BigDecimal.ROUND_UP
  表示的向上取值,无论第三位为什么数都向上进一,结果:0.34
  
   
BigDecimal.ROUND_DOWN
  表示的不向上取值,无论第三位为什么数都是舍弃,结果:0.33
  
 
BigDecimal.ROUND_CEILING
  表示的往正数取值,如果得到的结果是正数的话,取值规则按照BigDecimal.ROUND_UP,如果是负数的话取值规则按照BigDecimal.ROUND_DOWN,结果:0.34
  
 
BigDecimal.ROUND_HALF_UP
表示的一般是我们熟悉的四舍五入,结果0.33
  
 
还有一些舍入规则,这里就不一 一列举了,一般常用的还是BigDecimal.ROUND_HALF_UP
  
   
3.BigDecimal 的其他方法
  

bigDecimal .compareTo(BigDecimal )

作用:BigDecimal 的比较大小,如果是 结果是1的话就是大于,-1的话就是小于,0的话就是等于
 
 
bigDecimal .toString()

作用:将bigDecimal 类型的值转换成字符串类型,类似的还有:bigDecimal.doubleValue(), bigDecimal.intValue(), bigDecimal.longValue() 等等

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值