3

如果我想将几个值与 BCMath 一起添加,我可以这样做:

$total_cost1 = bcadd($value1, $value2);
$total_cost2 = bcadd($value3, $value4);
$total_cost3 = bcadd($value5, $value6);
$total_cost4 = bcadd($value7, $value8);

$total_cost = 
    bcadd(bcadd($total1_cost, $total2_cost), 
    bcadd($total3_cost, $total4_cost));

但它使它变得如此难以理解,而且很容易出错。请告诉我还有另一种解决方法...!?

4

2 回答 2

5

这种方法没有错,只是隐藏它。

您可以编写一个通用函数,该函数接受一个数字数组并将它们添加到一个循环中。

然后你可以简单地:bcsum(array($value1, $value2, ....))

于 2014-05-19T10:40:42.970 回答
0

跟进卡罗利的回答,您可能会像这样实现它:

function bcsum(array $numbers) : string {
    $total = "0";
    foreach ($numbers as $number) {
        $total = bcadd($total, $number, 2);
    }
    return $total;
}

bcsum(["1", "0.3", "0.33333", "0.033333"]);
于 2020-04-15T13:47:36.563 回答