[firebase-br] Função MOD

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Ter Ago 5 08:34:45 -03 2008


Essa foi a resposta do Adriano:

"Sobre o MOD, o standard diz que os dois parâmetros são números exatos
de escala 0 (ou seja, inteiro) e o retorno deve ser do tipo do
segundo... atualmente está retornando do tipo do primeiro, mas não
influencia o resultado"

Minha opinião é que essa implementação (e mesmo o standard) não são
muito interessantes para usos reais, e que pelo menos o FB deveria
retornar um erro quando alguém tentasse passar parâmetros de ponto
flutuante (ao invés de arredondar automaticamente).

Por hora, tente a sugestão do Adriano, ex:

select 5.0 - 4.2 * FLOOR(5.0 / 4.2) from rdb$database;

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br
Blog - http://blog.firebase.com.br

EB> Bem, bug não é.

EB> A função está documentada como recebendo dois parâmetros integer e 
EB> retornando um double precision. Faz o que está desenhada e documentada
EB> para fazer e isso está assim há muito tempo, provavelmente herdada do 
EB> interbase.
EB> O que pode se fazer é melhorá-la para receber dois double precision e 
EB> funcionar melhor.

EB> Eduardo




EB> Murilo Garcia Bento escreveu:
>> Então é um bug??!! Ou alguém sabe de alguma possível solução?
>> 
>> Se é bug já foi reportado, ou como fazer?
>> 
>> 
>> "Valdir Marcos" <valdir.marcos em ig.com.br> 
>> escreveu na mensagem 
>> news:59bb1e780808031909l6a7e9f2fkcb374fc9430ef021 em mail.gmail.com...
>> Acabei de fazer no FB 2.1.1, e o resultado foi 1 também.
>> 
>> Um abraço,
>> 
>> Valdir
>> 
>> 
>> 
>> 2008/8/3, Murilo Garcia Bento 
>> <murilo em cprinformatica.com.br>:
>>> Estou com o FB 2.5 Alpha, alguém que tenha o 2.1.1, poderia me dizer o que
>>>  retorna o seguinte select:
>>>
>>>  select mod(5.0, 4.2) from rdb$database
>>>
>>>  Pois mesmo, utilizando o cast em TUDO, cada número e geral, ele retorna 
>>> 1,
>>>  sempre, não sei se é viagem minha em algum ponto, mas fazendo a mesma 
>>> conta
>>>  pela calculador do Windows, ele retorna 0,8 (que seria o correto). Isso é 
>>> um
>>>  BUG, erro meu ou a função só retornar a parte inteira?
>>>
>>>  Grato.
>>>
>>>
>>>
>>>  ______________________________________________
>>>  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://firebase.com.br/pesquisa
>>>
>> 
>> ______________________________________________
>> 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://firebase.com.br/pesquisa
>> 
>> 
>> 
>> ______________________________________________
>> 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://firebase.com.br/pesquisa
>> 


EB> ______________________________________________
EB> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
EB> Para saber como gerenciar/excluir seu cadastro na lista, use:
EB> http://www.firebase.com.br/fb/artigo.php?id=1107
EB> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista