BigDecimal initBigDecimal = new BigDecimal(1); BigDecimal residualvaluerate = assetstock.getResidualvaluerate();//预计净残值率 Long servicemonth = assetstock.getServicemonth(); //预计使用年限(月份) 年折旧率=(1-预计净残值率)/预计使用年限×100% 使用java 代码 BigDecimal 用这些参数算出年折旧率
时间: 2024-02-23 15:01:09 浏览: 71
可以使用以下Java代码计算年折旧率:
```
BigDecimal residualvaluerate = assetstock.getResidualvaluerate();
Long servicemonth = assetstock.getServicemonth();
BigDecimal yearDepreciationRate = BigDecimal.ONE.subtract(residualvaluerate)
.divide(BigDecimal.valueOf(servicemonth), 10, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(12))
.setScale(2, RoundingMode.HALF_UP);
System.out.println("年折旧率为:" + yearDepreciationRate + "%");
```
其中,`BigDecimal.ONE`表示初始化为1的BigDecimal对象,`residualvaluerate`和`servicemonth`分别是预计净残值率和预计使用年限(月份)的值。在计算年折旧率时,需要先将`residualvaluerate`减去1,再除以`servicemonth`,最后乘以12,即可得到年折旧率。使用`setScale()`方法可以设置结果的小数点位数和舍入方式。
相关问题
BigDecimal initBigDecimal = new BigDecimal(1); BigDecimal residualvaluerate = assetstock.getResidualvaluerate();//预计净残值率 Long servicemonth = assetstock.getServicemonth(); //预计使用年限(月份) BigDecimal notaxamount = assetstock.getNotaxamount(); 固定资产原价 年折旧率=(1-预计净残值率)/预计使用年限×100% 月折旧率=年折旧率÷12 月折旧额=固定资产原价×月折旧率 使用java 代码 BigDecimal 用这些参数算出年折旧率、月折旧率、月折旧额
好的,根据您提供的参数,可以使用以下代码计算年折旧率、月折旧率和月折旧额:
```
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` 表示四舍五入。
java.math.BigDecimal b1 = new java.math.BigDecimal(Double.toString(v1)); java.math.BigDecimal b2 = new java.math.BigDecimal(Double.toString(v2)); return b1.multiply(b2).doubleValue();将结果改为保留4位小数
好的,您可以使用以下代码来将结果保留4位小数:
```
java.math.BigDecimal b1 = new java.math.BigDecimal(Double.toString(v1));
java.math.BigDecimal b2 = new java.math.BigDecimal(Double.toString(v2));
double result = b1.multiply(b2).doubleValue();
result = (double)Math.round(result * 10000) / 10000;
return result;
```
其中,`result`变量的值即为两个数相乘的结果,经过四舍五入后保留4位小数。
阅读全文