[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