Как arrendondar рассрочку такую же итог?
$meses = 3;
$valor = 1000
$valor_parcela = $valor / $meses;
for ($i = 1;$i <= $meses; $i++) {
$date_sum_month = date('d/m/Y', strtotime("+{$i} month", strtotime($date)));
array_push($boletos, ["numero" => $i, "vencimento" => date_sum_month, "valor" => $valor_parcela]);
}
return json_encode($boletos);
Результат моего кода:
1 - 333,333
2 - 333,333
3 - 333,333
Желаемого:
1 - 333
2 - 333
3 - 334
2
1 answers
Вам нужно сделать, разница сумма рассрочки arredondas ноль домов и добавить в последний взнос. Итак, вы хотите сделать две вещи, расчета всех рассрочку без десятичных знаков, а затем изменить последний, чтобы убедиться, что сумма из них дайте же значение, что и оригинал. Могли бы сделать, учитывая определенное количество десятичных разрядов, 1, 2 или даже больше, еще больше центов, которые мы используем, просто сказать, сколько домов хотите, чтобы закруглить.
$meses = 3;
$valor = 1000;
$boletos = [];
for ($i = 1; $i <= $meses; $i++) array_push($boletos, round($valor / $meses, 0));
$boletos[$meses - 1] += $valor - array_sum($boletos);
print_r($boletos);
См работает ideone. И repl.it. Также я GitHub для использования в будущем.
5
Author: Maniero, 2019-08-19 12:13:17