gpt4 book ai didi

java - 计算库

转载 作者:行者123 更新时间:2023-11-29 06:07:53 27 4
gpt4 key购买 nike

我需要做一些这样的计算(简化):

            amount1     amount2     amount3     amount4     total
5000 500 1000 350 6850

3.55% 177.5 17.75 35.5 12.43 243.18
1.00% 50 5 10 3.5 68.5

- 4772.5 477.25 954.5 334.07 6538.32

16.66% ....
...

计算很简单;但我不确定如何最好地实现这一点。我不仅需要能够获取和显示计算的总结果,还需要能够获取和显示每个子计算。我可以为每个子计算创建一个方法,并将方法组合在一起进行总计算。例如:

calcTotal1() {
calcSub1() + calcSub2() + ... ;
}

但我想知道是否有更好的方法来实现这一点。它也应该是一个可以被不同程序使用的小库。

最佳答案

我认为,您的要求可以通过计算一系列百分比得到很好的满足:

 public BigDecimal[] calculate(BigDecimal[] percentages, BigDecimal amount) {
BigDecimal rolling = amount;
BigDecimal[] result = new BigDecimal[percentages.length];
for (int i = 0; i < percentages.length; i++) {
// We use null as a marker for subtotals
if (percentages[i] != null) {
result[i] = amount.multiply(percentages[i]).divide(new BigDecimal("100"), MathContext.DECIMAL128);
rolling = rolling.add(result[i]);
} else {
// Insert the subTotal
result[i] = rolling;
}
}

请注意 BigDecimal 的使用,虽然它们确实使用了更多的内存,但它会对您的数字的正确性产生严重影响。

在百分比 [] 中使用 null,您可以指定必须打印小计的行。

关于java - 计算库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992053/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com