Problemas com Floor()
Boa tarde pessoal, e o seguinte, estou fazendo um calculo e apos esse calculo preciso arredondar o valor sempre pra baixo, e pra isso estou utilizando o Floor(), porem em alguns casos eu tenho problema.
Ex: quando o calculo é 10.000,00 parcelado em 4 vezes, o resultado da 12.37,00 ao inves de 12.370,00, isso acontece em varios casos que terminam com 0.
simular.php
<?php
require("config.php");
$sql = $pdo->prepare("SELECT * FROM referencias");
$sql->execute();
$ln = $sql->fetchObject();
$valor = strip_tags($_POST['valor']);
$parc = strip_tags($_POST['parcelas']);
$percentual = $ln->tarifa_cartao / 100.0;
$percentual2 = $ln->tarifa_parcelado / 100.0;
$percentual3 = $ln->tarifa_cdc / 100.0;
$percentual4 = $ln->tarifa_cdc_parcelado / 100.0;
$percentual5 = $ln->comissao_vendedor / 100.0;
$percentual6 = $ln->comissao_vendedor_parcelado / 100.0;
$percentual7 = $ln->comissao_ponto_venda / 100.0;
$a = $percentual + $percentual2 + $percentual3 + $percentual4 + $percentual5 + $percentual6 + $percentual7;
$ponrT = 100 / 100.0;
$outT = $ponrT - $a;
$valor_finalT = $valor / $outT;
//echo $valor;
$valor1 = floor($valor*1000);
$valor2 = floor($valor);
if(strlen($valor) <= 6){
if($parc == 2){
$ponr = 100 / 100.0;
$out = $ponr - $percentual5;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 3){
$calc = $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 4){
$calc = $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 5){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 6){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 7){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 8){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 9){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 10){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 11){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 12){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}
}elseif(strlen($valor) >= 8){
if($parc == 2){
$ponr = 100 / 100.0;
$out = $ponr - $percentual5;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 3){
$calc = $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 4){
$calc = $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 5){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 6){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 7){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 8){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 9){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 10){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}elseif($parc == 11){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc, 'valorReal' => $valor);
$new = json_encode($my);
echo($new);
}elseif($parc == 12){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final*1000;
$valor_aqui = floor($valor_final);
$outValor = number_format(floor($valor_final),2,',','.');
$valorPac = $valor_aqui / $parc;
$valorFinalParc = number_format($valorPac,2,',','.');
$my = array('valor' => $valor_aqui, 'outvalor' => $outValor, 'valorparc' => $valorFinalParc);
$new = json_encode($my);
echo($new);
}
}
/*if($parc == 2){
$ponr = 100 / 100.0;
$out = $ponr - $percentual5;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 3){
$calc = $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 4){
$calc = $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 5){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 6){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 7){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 8){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 9){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 10){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 11){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}elseif($parc == 12){
$calc = $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5 + $percentual5;
$ponr = 100 / 100.0;
$out = $ponr - $calc;
$valor_semi_final = $valor_finalT / $out;
$valor_final = $valor_semi_final;
echo floor($valor_final);
}
*/
retorno.js
$(function(){
var form = $('form[name=formP]');
var radio = $('input[name=parcelas]');
var parc;
radio.change(function(){
parc = $(this).val();
});
form.submit(function(){
var btn = $('.btn_calc');
$.ajax({
url: 'admin/php/simular.php',
type: 'POST',
data: form.serialize(),
dataType: 'json',
beforeSend: function(){
btn.val('Carregando..');
},
success: function(data){
var valorTotal = parseFloat(data.outvalor);
var valorParcelado = parseFloat(data.valor) / parc;
//var n = valorParcelado.toFixed(2);
//n = n.replace('.', ',');
//n = parseFloat(n);
$('.numParcelas').text(parc);
if(data.valorReal == '10.000,00'){
$('.tarifaDebitar').text('R$ '+valorTotal+'0,00');
}else{
$('.tarifaDebitar').text('R$ '+valorTotal+',00');
}
$('.valorParcelas').text("R$ "+data.valorparc);
btn.val('Calcular');
}
});
return false;
});
});Discussão (2)
Carregando comentários...