Sim e não :)

Se você está trabalhando com matemática de ponto flutuante esse é um
resultado possível.

Arredondando somente no fim:

2,34 * 8,67 = 20,2878 ~ 20,29

se você arredondar individualmente:

2,34 ~ 2,3
8,67 ~ 8,7

2,3 * 8,7 = 20,01

[]'s

Luigi Castro Cardeles


2009/4/8 sergio santos <sergio.serginhos...@gmail.com>

> Pessoal
> vejam bem
>
> essas são minhas variáveis:
>
>     $liquido = 115.71;
>     $valor_comissao = 0.5;
>     $valor_comissao_receber = 1;
>     $numparc = 7;
>     $numparc_pg = 1;
>
>     Quando eu faço assim:
>
> round((($liquido*$valor_comissao*$valor_comissao_receber)/$numparc)*$numparc_pg,2);
>     o resultaod é 8.26 ou seja, diferente do arredondamento no PostgreSQL
>
>     já quando eu faço passo a passo, ele me retorna o mesmo valor que o
> PostgreSQL está retornando
>
>     $a = round($liquido*$valor_comissao,2);
>     $b = round($a*$valor_comissao_receber,2);
>     $c = round($b/$numparc,2);
>     $d = round($c*$numparc_pg,2);
>     echo round($d,2);
>
> estranho....
>
>  2009/4/8 Osvaldo Kussama <osvaldo.kuss...@gmail.com>
>
> Em 08/04/09, Osvaldo Kussama<osvaldo.kuss...@gmail.com> escreveu:
>> > Em 08/04/09, sergio santos<sergio.serginhos...@gmail.com> escreveu:
>> >> Pessoal o arredondamento od PosgreSQL funciona assim:
>> >> 8.265 = 2.27
>> >>
>> >> e o do PHP é assim:
>> >> 8.265 = 2.26
>> >>
>> >> tem uma forma de eu forçar o PosgreSQL a arredondar igual ao PHP?
>> >>
>> >
>> >
>> > Em primeiro lugar eu duvido que tanto o PostgreSQL quanto o PHP façam
>> > o arredondamento acima descrito.
>> > Agora se você estiver falando de 8.265 = 8.26, bem isto é o que se
>> > espera, matematicamente falando.
>>
>> Ooops!
>> Queria dizer na frase acima:
>> 8.265 = 8.27
>>
>>
>> >
>> > Creio que o PHP também não faz da forma como você descreveu, veja o
>> > manua (particularmente os 2 últimos exemplos)l:
>> > <?php
>> > echo round(3.4);         // 3
>> > echo round(3.5);         // 4
>> > echo round(3.6);         // 4
>> > echo round(3.6, 0);      // 4
>> > echo round(1.95583, 2);  // 1.96
>> > echo round(1241757, -3); // 1242000
>> > echo round(5.045, 2);    // 5.05
>> > echo round(5.055, 2);    // 5.06
>> > ?>
>> > http://br.php.net/round
>> >
>> > Mas você sempre pode criar sua própria função de arredondamento.
>> >
>> > Osvaldo
>> >
>> _______________________________________________
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> Sérgio Antônio dos Santos
> Bacharel em Sistemas de Informação
> (31) 8573-7004
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a