BigDecimal initBigDecimal = new BigDecimal(1); BigDecimal residualvaluerate = assetstock.getResidualvaluerate();//预计净残值率 Long servicemonth = assetstock.getServicemonth(); //预计使用年限(月份) 年折旧率=(1-预计净残值率)/预计使用年限×100% 使用java 代码 BigDecimal 用这些参数算出年折旧率
时间: 2024-02-23 20:00:21 浏览: 108
java中BigDecimal的操作方法
可以使用以下代码来计算年折旧率:
```
BigDecimal residualvaluerate = assetstock.getResidualvaluerate();
Long servicemonth = assetstock.getServicemonth();
// 计算年折旧率
BigDecimal yearDepreciationRate = BigDecimal.ONE
.subtract(residualvaluerate)
.divide(BigDecimal.valueOf(servicemonth), 4, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(12))
.setScale(2, RoundingMode.HALF_UP);
System.out.println("年折旧率为:" + yearDepreciationRate);
```
其中,`BigDecimal.ONE` 表示初始值为 1,`subtract` 方法用于计算 `1-预计净残值率`,`divide` 方法用于计算 `(1-预计净残值率)/预计使用年限`,`.multiply(BigDecimal.valueOf(12))` 用于将月折旧率转换为年折旧率,`.setScale(2, RoundingMode.HALF_UP)` 用于保留两位小数并进行四舍五入。最后将结果存储在 `yearDepreciationRate` 变量中。
阅读全文