VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • BigDecimal 方法大全

 

1.BigDecimal 常量#

模式 常量名 描述
向上取整 ROUND_DOWN 直接删除多余的小数位
向下取整 ROUND_UP 2.35变成2.3
四舍五入 ROUND_HALF_UP 2.35变成2.4, 2.34变成2.3
五舍六入 ROUND_HALF_DOWN 5也会向下舍 2.35变成2.3
接近正无穷大的舍入 ROUND_CEILING -2.35 变成 -2.3,2.35变成2.4
接近负无穷大的舍入 ROUND_FLOOR -2.35 变成 -2.4, 2.35变成2.3
向最接近的数字舍入 ROUND_HALF_EVEN 如果与两个相邻数字的距离相等,则向相邻的偶数舍入
计算结果是精确的,不需要舍入模式 ROUND_UNNECESSARY 不舍入,如果结果精确会抛出异常

2.RoundingMode 枚举#

其实就是枚举类里面封装了一个常量,引用了上面的枚举类常量,运用方法:RoundingMode.HALF_UP


Copy
UP(BigDecimal.ROUND_UP), DOWN(BigDecimal.ROUND_DOWN), CEILING(BigDecimal.ROUND_CEILING), FLOOR(BigDecimal.ROUND_FLOOR), HALF_UP(BigDecimal.ROUND_HALF_UP), HALF_DOWN(BigDecimal.ROUND_HALF_DOWN), HALF_EVEN(BigDecimal.ROUND_HALF_EVEN), UNNECESSARY(BigDecimal.ROUND_UNNECESSARY);

3.MathContext 不可变对象#

为一个不可变对象,他常用的构造方法如下:

  • MathContext(int setPrecision) 精度,默认舍入模式为四舍五入
  • MathContext(int setPrecision,RoundingMode setRoundingMode) 精度,舍入模式

二.常用运算方法#

1.加法 add()#

方法 参数解释 描述
add(BigDecimal augend) subtrahend:加数 精度取两个数中精度较大的那个精度
add(BigDecimal augend,MathContext mc) subtrahend:加数,mc:看上面的MathContext  

2.减法 subtract()#

方法 参数解释 描述
subtract(BigDecimal subtrahend) subtrahend:减数 精度取两个数中精度较大的那个精度
subtract(BigDecimal subtrahend,MathContext mc) subtrahend:减数,mc:看上面的MathContext  

3.乘法 multiply()#

方法 参数解释 描述
multiply(BigDecimal multiplicand) multiplicand:另一个乘数 精度为两个乘数的精度相乘
multiply(BigDecimal multiplicand, MathContext mc) multiplicand:另一个乘数,mc:看上面的MathContext  

4.除法 divide()#

方法 参数解释 描述
divide(BigDecimal divisor) divisor:除数 不能整除就报错
divide(BigDecimal divisor,int roundingMode) divisor:除数,roundingMode:保留小数 默认舍入模式为ROUND_UNNECESSARY
divide(BigDecimal divisor,int scale,int roundingMode) divisor:除数,scale:保留位数,roundingMode:舍入模式  

5.保留几位小数 setScale()#

方法 参数解释
setScale(int newScale,int roundingMode) 第一个参数为保存的小数位数,第二个参数为舍入模式
setScale(int newScale,RoundingMode roundingMode) 第一个参数为保留的小数位数,第二个参数为舍入模式枚举类
setScale(int newScale) 第一个参数为保留的小数位数,默认的舍入模式为不舍入

6.比较大小 compareTo()#

方法 参数解释 描述
compareTo(BigDecimal val) val:比较的参数 调用方法对象>val 返回 1,调用方法对象 < val 返回 -1,调用方法对象 = val 返回 0

三.其他方法#

方法 方法用途
toString() 将BigDecimal对象的数值转换成字符串
floatValue 将BigDecimal对象中的值以单精度数返回
longValue() 将BigDecimal对象中的值以长整数返回
intValue() 将BigDecimal对象中的值以整数返回
max(BigDecimal val) 取两个数中最大的一个
min(BigDecimal val)  
remainder(BigDecimal divisor) 求余数,求BigDecimal类型数据除以divisor的余数
abs() 绝对值,求BigDecimal类型数据的绝对值
negate() 相反数,求BigDecimal类型数据的相反数
 
出处:https://www.cnblogs.com/xiaodou00/p/15043194.html
 


相关教程