[firebase-br] Arredondamento

Carlos H. Cantu listas em warmboot.com.br
Sex Nov 11 12:06:58 -03 2016


select    cast(3.9952 + 0.005 as numeric(9,3))
from  rdb$database

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

RR> Então, fiz o teste que o Gladiston sugeriu me retorno  o 3,995 e com o
RR> Round também, porém queria que retornasse 4, só que com 3 cadas decimais.

RR> Em 11 de novembro de 2016 11:27, Matheus Guerra <
RR> matheus.oliveira.guerra em gmail.com> escreveu:

>> "Como eu faria no Firebird, utilziando o Round ou o Cast ele me retorna
>> 3,995"
>>
>> select    round(3.9952,3)
>> from      rdb$database
>>
>>
>> Att,
>> Matheus Guerra
>>
>> Em 11 de novembro de 2016 10:12, Gladiston Santana
>> <gladiston em vidy.com.br> escreveu:
>> > No FB, se você misturar números com casas decimais diferentes dentro da
>> > mesma expressão matemática ela pode retornar algo diferente do esperado,
>> > então antes de processar valores, tente inicializa-los com as casas
>> > decimais de que precisa no resultado, por exemplo:
>> >
>> > declare variable var1 float=0.0000;
>> > declare variable var2 float=0.0000;
>> > (...)
>> > var3=:var1*var2; --- o resultado para var3  será com 4 casas decimais
>> > porque as variaveis do escopo são todos da mesma natureza.
>> >
>> > Sobre o round, você verá em :
>> >
>> > http://www.firebirdsql.org/refdocs/langrefupd25-intfunc-round.html
>> >
>> > Contudo se está usando dialeto 1 porque está num fb versão antiga, é
>> > possível que você não tenha essa função disponível e sendo assim teria de
>> > usar essa funcionalidade no lado client, se for delphi, talvez o tipo BCD
>> > ou money possa lhe ajudar, já que float ou double podem também resultar
>> em
>> > imprecisões.
>> >
>> > inte+
>> >
>> > Em 11 de novembro de 2016 10:27, Ricardo Rodrigues <ricardopd em gmail.com>
>> > escreveu:
>> >
>> >> Bom dia Lista, estou passando por uma dificuldade com arredondamento,
>> >> Firebird 2.5 - Dialeto 1
>> >>
>> >> Tenho os seguintes valores :
>> >>
>> >> 0.227 x 17.6 = 3.9952
>> >>
>> >> No delphi, tenho a seguinte função :
>> >>
>> >> O ACBr utiliza a base da função FormatFloat para arredondar para a
>> receita
>> >>
>> >>  Result := StringToFloat(FloatToString(Value,DecimalSeparator ,aMsk))
>> >>
>> >> Utilizando ela com 3 casas decimais ela me retorna 4.
>> >>
>> >> Como eu faria no Firebird, utilziando o Round ou o Cast ele me retorna
>> >> 3,995
>> >>
>> >>
>> >> Desde já agradeço a atenção.
>> >> ______________________________________________
>> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> >> http://www.firebase.com.br/fb/artigo.php?id=1107
>> >> Para consultar mensagens antigas: http://www.firebase.com.br/
>> >> pesquisa_lista.html
>> >>
>> >
>> >
>> >
>> > --
>> > --
>> > B em B@BU     iB em M@B.  B em MBBO   MBBMMB em B@BZLr    E@@@@i      r@@@BU
>> > vB em M@O     E em B@Bu   BBBM em 0   G em MMM@N8MBB em ZP5r  B em B@k      8B@@O
>> >  OB em B@q   2 em BBBM    B em B@BO   BB em B@B,.:,7B em B@@L uB em B@,    OB em B@.
>> >  ,@@@B@   @BBB@,    @BBB em 8   M em M@@@     PB em B@B  @@@BN   iB em B@L
>> >   U em B@B2 LB em B@X     B em MBBO   MBBM em B     i em BBB@. 7 em B@Bi  B em B@E
>> >    B@@@BiM em M@B.     @BBM em G   M em MMB@     v@@M em B,  G em B@Z v em B@B.
>> >    7B em B@O em B@B5      B em B@B8   BBBM em B     Z@@@B@   iB@@@2 em B@Br
>> >     NB em M@B em B8       @B em B@8   M em B@B em i:i75 em B@B em r    E@@B em B@Bq
>> >     . em B@@@B@:       B em B@B@   @B@@@B em B@B@@@ME;     .BB em MBB@
>> >      55.ANOS        OMOGBS   PBZGGOOMOO117,        7 em BBB@r
>> >      ==============================================r@@@@F=====
>> >      Gladiston Santana                             8 em B@B,
>> >      Supervisor de TI                             G em B@B7
>> >      Tel.:+551147873122 R:228                    :@B em B0
>> >      Grupo VIDY - SGQ ISO9001 - 55 ANOS          @B em B@.
>> >      Visite nosso site: www·vidy·com·br         BB@@@u
>> >      Visite também : www·expolabor·com·br      GB em B@N
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas: http://www.firebase.com.br/
>> pesquisa_lista.html
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://www.firebase.com.br/
>> pesquisa_lista.html
>>
RR> ______________________________________________
RR> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
RR> Para saber como gerenciar/excluir seu cadastro na lista, use:
RR> http://www.firebase.com.br/fb/artigo.php?id=1107
RR> Para consultar mensagens antigas:
RR> http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista