用java bigdecial 实现 =MEDIAN(0,(N13-J8)/(K8-J8)*N8*80%,N8*80%+MEDIAN(0,(N13-K8)/(L8-K8)*N8*20%,N8*20%))
时间: 2023-06-26 19:06:45 浏览: 121
【Java】BigDecimal实现加减乘除运算代码
5星 · 资源好评率100%
以下是使用Java BigDecimal实现的代码:
```
import java.math.BigDecimal;
public class MedianCalculation {
public static void main(String[] args) {
BigDecimal zero = BigDecimal.ZERO;
BigDecimal n13 = new BigDecimal("10");
BigDecimal j8 = new BigDecimal("2");
BigDecimal k8 = new BigDecimal("4");
BigDecimal l8 = new BigDecimal("6");
BigDecimal n8 = new BigDecimal("8");
BigDecimal eightyPercent = new BigDecimal("0.8");
BigDecimal twentyPercent = new BigDecimal("0.2");
BigDecimal firstMedian = zero.max(n13.subtract(j8).divide(k8.subtract(j8), 10, BigDecimal.ROUND_HALF_UP)
.multiply(n8).multiply(eightyPercent));
BigDecimal secondMedian = eightyPercent.multiply(n8).add(
zero.max(n13.subtract(k8).divide(l8.subtract(k8), 10, BigDecimal.ROUND_HALF_UP)
.multiply(n8).multiply(twentyPercent)));
BigDecimal result = firstMedian.max(secondMedian);
System.out.println("Result: " + result);
}
}
```
其中,使用BigDecimal.ZERO来表示0,使用BigDecimal的构造函数来表示其他数字。divide方法可以指定小数点位数和取舍方式。max方法可以取两个数中较大的那个。
阅读全文