Значения разбиты на участки, как вставить в первый, 3-го десятичного знака?
у Меня есть решение, которое разделяет участков и включает в себя стоимость остаток от деления на первый взнос, как можно проверить даже работает phpFiddle
, Но у меня возникают проблемы, когда значения имеют плавающей точкой, как, например 190.75 уже использую функцию number_format
, чтобы сделать преобразование денежной.
способ, который работает, если сумма целое число, но не хотел, чтобы это было, как я сделал, на самом деле хотел, что бы это было так.
$valor_total = 200.75;
$qt_parcelas = 3;
$valor_parcelas = $valor_total / $qt_parcelas;
echo 'o valor de cada parcela eh: '.$valor_parcelas; //cada parcela seria 66.916666..
// mas queria que ficasse assim
// parcela 1: 66.93
// parcela 2: 66.91
// parcela 3: 66.91
Есть ли способ сделать это в php? получить значения после 2 десятичной дроби и сложить со значением первой?
1
2 answers
И В последнем случае, вы всегда можете работать с центов:
<?php
$valor_total = 200.75;
$qtde_parcelas = 3;
function parcelas($montante, $parcelas) {
$resultado = array();
$centavos = $montante * 100; // montante em centavos
// a primeira parcela recebe o resto;
// divide tudo por 100 para achar o valor em reais
array_push($resultado,(floor($centavos / $parcelas) + $centavos % $parcelas) / 100.0 );
for ($i = 1; $i < $parcelas; $i ++) {
// as outras são arredondadas para baixo somente
array_push($resultado, floor($centavos / $parcelas) / 100.0 );
}
return $resultado;
}
print_r(parcelas($valor_total, $qtde_parcelas));
?>
2
Author: Wtrmute, 2017-05-10 16:34:34
Вы можете использовать round()
например, round($valor_parcelas);
,
round($valor_parcelas, 2, PHP_ROUND_HALF_ODD);
1
Author: Diéfani Favareto Piovezan, 2017-05-10 16:32:53