Autor Tópico: ** RESOLVIDO ** Arredondar valor.  (Lida 4694 vezes)

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 373
** RESOLVIDO ** Arredondar valor.
« Online: Janeiro 23, 2009, 01:04:00 pm »
Ola Pessoal,
Preciso arredondar um calculo de divisao, ou seja, para obter o valor exato do total.

Exemplo:

$vtotal = 100,00;
$vparc = 3;
    $valor = ($vtotal / $vparc);
    $valor = arredonda($valor);
$valor  = 33.33;

Preciso que a primeira seja:

$valor  = 33.34;

Alguem pode dar uma dica ??

Obrigado.

Paulo.
SC 4.
PostgreSQL 8.2


function arredonda($vl)
{
    sc_trunc_num($vl,2);
    return $vl;
}
 
« Última modificação: Novembro 06, 2009, 10:27:55 am por Rodrigo Lins »

robertobru

  • Intermediário
  • ***
  • Mensagens: 223
    • Email
Re: Arredondar valor.
« Responder #1 Online: Janeiro 23, 2009, 05:22:05 pm »
Fiz dessa maneira (função ROUND) e os arredondamentos pra mais ou PRA menos estão funcionando:

$flo= round ($t1 * 100) / 100;
{total}    = $flo;

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 373
Re: Arredondar valor.
« Responder #2 Online: Janeiro 23, 2009, 09:16:06 pm »
Obrigado pela dica.

leonardopitta

  • Visitante
Re: Arredondar valor.
« Responder #3 Online: Fevereiro 13, 2009, 04:30:41 pm »
Tenho esse código para parcelas, como faço para verificar sempre que der divisão com restos e formatar o valor final.
Exemplo : 20/6 = 3,33


if ({pag_forma} == "A vista" ){
{ped_totalparcela} = {ped_totalavista} / 1;
}
else
if ({pag_forma} == "2x" ){
{ped_totalparcela} = {ped_totalaprazo} / 2;
}
else
if ({pag_forma} == "3x" ){
{ped_totalparcela} = {ped_totalaprazo} / 3;
}
else
if ({pag_forma} == "4x" ){
{ped_totalparcela} = {ped_totalaprazo} / 4;
}
else
if ({pag_forma} == "5x" ){
{ped_totalparcela} = {ped_totalaprazo} / 5;
}
else
if ({pag_forma} == "6x" ){
{ped_totalparcela} = {ped_tot

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: Arredondar valor.
« Responder #4 Online: Fevereiro 13, 2009, 09:32:17 pm »
 $VLRPARCS=round($VLR/$ICOUNT,2);
 $VLRPARC1=round($VLRPARCS+$VLR-($VLRPARCS*$ICOUNT),2);
 //onde $VLR -> valor total e $ICOUNT -> número de parcelas

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 373
Re: Arredondar valor.
« Responder #5 Online: Fevereiro 15, 2009, 10:53:15 am »
Obrigado pessoal, pelas dicas.
Tive que fazer como a dica do Haroldo,
arredeondar no codigo PHP e deu tudo OK.

Atts,
Paulo.

leonardopitta

  • Visitante
Re: Arredondar valor.
« Responder #6 Online: Fevereiro 17, 2009, 04:27:16 pm »
 EX : 20 / 6 ele da 3,33333333,33

Precisaria que fosse o resultado  3,33 isso não acontece ...

Rodrigo Lins

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 504
    • Overalt I.T
Re: Arredondar valor.
« Responder #7 Online: Outubro 16, 2009, 03:36:32 pm »
Boa Tarde,

Para resolver o problema de mostrar somente duas casas decimais utilize a macro do ScriptCase sc_trunc_num

EX:
sc_trunc_num({meu_valor}, 2);

Valor de entrada = 1250.235
Valor de saída = 1250.23

Rodrigo Lins.