BigDecimal initBigDecimal = new BigDecimal(1); BigDecimal residualvaluerate = assetstock.getResidualvaluerate();//预计净残值率 Long servicemonth = assetstock.getServicemonth(); //预计使用年限(月份) BigDecimal notaxamount = assetstock.getNotaxamount(); 固定资产原价 年折旧率=(1-预计净残值率)/预计使用年限×100% 月折旧率=年折旧率÷12 月折旧额=固定资产原价×月折旧率 使用java 代码 BigDecimal 用这些参数算出年折旧率、月折旧率、月折旧额
时间: 2024-02-23 13:00:49 浏览: 62
好的,根据您提供的参数,可以使用以下代码计算年折旧率、月折旧率和月折旧额:
```
BigDecimal residualvaluerate = assetstock.getResidualvaluerate();
Long servicemonth = assetstock.getServicemonth();
BigDecimal notaxamount = assetstock.getNotaxamount();
// 计算年折旧率
BigDecimal yearDepreciationRate = BigDecimal.ONE.subtract(residualvaluerate)
.divide(BigDecimal.valueOf(servicemonth), 4, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(100));
// 计算月折旧率
BigDecimal monthDepreciationRate = yearDepreciationRate.divide(BigDecimal.valueOf(12), 4, RoundingMode.HALF_UP);
// 计算月折旧额
BigDecimal monthDepreciationAmount = notaxamount.multiply(monthDepreciationRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP);
```
其中,`BigDecimal.ONE` 表示 `1`,`divide` 表示除法运算,`multiply` 表示乘法运算,`setScale` 表示设置小数点保留位数,`RoundingMode.HALF_UP` 表示四舍五入。
阅读全文