概述
在上半部分(一张图带你看透BigDecimal(上))我们对于BigDecimal的基本属性和构造函数有了清晰的认识,在已经知道如何构造一个BigDecimal的基础上我们再来看看如何更好的使用这个类吧。
算术运算
作为一个数值类型,算术运算是基本功能。相应的BigDecimal也提供了基本的算术运算如加减乘除,还有一些高级运算如指数运算pow、绝对值abs和取反negate等。我们重点分析比较常用的加减乘除和指数函数pow。
加法运算
在加法运算上BigDecimal提供了两个public的方法。
1, public BigDecimal add(BigDecimal augend)。
这个方法采用的逻辑比较简单,他遵循了我们对BigDecimal的最初认识,即只要搞定四个基本属性,这个对象就搞定了。所以在逻辑上的实现方式如下:result.intValue/intCompact = this.intValue/intCompact + augend. intValue/intCompact
result.scale = max(this.scale, augend.scale)
result.precision = 0
2, public BigDecimal add(BigDecimal augend, MathContext mc)
这个方法和上面的方法只相差一个MathContext参数,依照我们之前的经验,这个应该是在第一个方法的基础上加入了Rounding相关的操作。事实的确如此,唯一的差异是针对零值的情况加入了处理片段。
减法运算
BigDecimal对于减法同样提供了两个public的方法,对应于加法的两个方法。在处理逻辑上完全复用了加法的处理逻辑,针对减数
最后
以上就是踏实信封为你收集整理的bigdecimal计算开n次方_一张图带你看透BigDecimal(下)的全部内容,希望文章能够帮你解决bigdecimal计算开n次方_一张图带你看透BigDecimal(下)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复