数据库方面
Decimal的语法
DECIMAL(M, D)
- M:总位数,包括小数点前和小数点后的数字。
- D:小数点后的位数。
Decimal的实际应用场景
货币计算、精度计算
Java代码方面
- add(BigDecimal augend):加法运算
-
//本月总计 == 本月拓客 + 本月服务 + 行动长计划 //BigDecimal thisMonthIncome = thisMonthTurk.add(thisMonthService).add(cooperation); // 非空检查并进行加法运算 BigDecimal thisMonthIncome = BigDecimal.ZERO; if (thisMonthTurk != null) { thisMonthIncome = thisMonthIncome.add(thisMonthTurk); } if (thisMonthService != null) { thisMonthIncome = thisMonthIncome.add(thisMonthService); } if (cooperation != null) { thisMonthIncome = thisMonthIncome.add(cooperation); } log.info("本月总计:{}", thisMonthIncome);
- subtract(BigDecimal subtrahend):减法运算
- multiply(BigDecimal multiplicand):乘法运算
- divide(BigDecimal divisor, int scale, RoundingMode roundingMode):除法运算,可以指定小数位数和舍入方式
- setScale(int newScale, RoundingMode roundingMode):设置小数位数和舍入方式
- compareTo(BigDecimal val):比较两个BigDecimal的大小
- toString():将BigDecimal转换为字符串
注意事项
在BigDecimal类中,以下方法中的参数不能为空:
- add(BigDecimal augend):加法运算的参数augend不能为空,即不能为null。
- subtract(BigDecimal subtrahend):减法运算的参数subtrahend不能为空,即不能为null。
- multiply(BigDecimal multiplicand):乘法运算的参数multiplicand不能为空,即不能为null。
- divide(BigDecimal divisor, int scale, RoundingMode roundingMode):除法运算的参数divisor不能为空,即不能为null。
- compareTo(BigDecimal val):比较大小的参数val不能为空,即不能为null。
这些方法在接收到null参数时,会抛出NullPointerException异常。因此,在使用这些方法时,需要确保传入的参数不为null,或者在调用这些方法之前进行非空检查
标签:Java,BigDecimal,Decimal,add,thisMonthIncome,为空,null,运算 From: https://blog.csdn.net/weixin_49423223/article/details/139548004