用java BigDecimal 实现 =IF(C18="成熟期",IF(AB18<0.06%,0%,IF(AB18>=0.13%,2%,IF(AB18>=0.1%,(AB18-0.1%)*(0.4%/(0.13%-0.1%))+1.6%,AB18/0.1%*1.6%))),IF(AB18<0.06%,0%,IF(AB18>=0.1%,2%,IF(AB18>=0.08%,(AB18-0.08%)*(0.4%/(0.1%-0.08%))+1.6%,AB18/0.08%*1.6%))))
时间: 2023-07-14 12:12:39 浏览: 120
可以使用以下代码实现:
```java
import java.math.BigDecimal;
public class IfFunction {
public static void main(String[] args) {
BigDecimal c18 = new BigDecimal("成熟期");
BigDecimal ab18 = new BigDecimal("0.09");
BigDecimal result = c18.equals(new BigDecimal("成熟期")) ?
ab18.compareTo(new BigDecimal("0.06")) < 0 ? new BigDecimal("0") :
ab18.compareTo(new BigDecimal("0.13")) >= 0 ? new BigDecimal("2") :
ab18.compareTo(new BigDecimal("0.1")) >= 0 ?
ab18.subtract(new BigDecimal("0.1")).multiply(new BigDecimal("0.4"))
.divide(new BigDecimal("0.03"), 2, BigDecimal.ROUND_HALF_UP)
.add(new BigDecimal("1.6")) :
ab18.divide(new BigDecimal("0.1"), 2, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal("1.6"))) :
ab18.compareTo(new BigDecimal("0.06")) < 0 ? new BigDecimal("0") :
ab18.compareTo(new BigDecimal("0.1")) >= 0 ? new BigDecimal("2") :
ab18.compareTo(new BigDecimal("0.08")) >= 0 ?
ab18.subtract(new BigDecimal("0.08")).multiply(new BigDecimal("0.4"))
.divide(new BigDecimal("0.02"), 2, BigDecimal.ROUND_HALF_UP)
.add(new BigDecimal("1.6")) :
ab18.divide(new BigDecimal("0.08"), 2, BigDecimal.ROUND_HALF_UP)
.multiply(new BigDecimal("1.6")));
System.out.println(result);
}
}
```
其中,通过 `BigDecimal` 类来处理精度问题,使用 `compareTo()` 方法来比较大小,使用 `subtract()` 和 `multiply()` 方法来进行减法和乘法计算,使用 `divide()` 方法来进行除法计算,并且需要指定保留小数位数和舍入规则。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)