[firebase-br] Função MOD
Eduardo Bahiense
eduardo em icontroller.com.br
Dom Ago 3 22:44:34 -03 2008
Olá Murilo
No FB 2.0, mod só é existe em udf. A declaração da função espera dois
parametros integer
DECLARE EXTERNAL FUNCTION mod
INTEGER, INTEGER
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'IB_UDF_mod' MODULE_NAME 'ib_udf';
Assim, parece que quando você pede mod(5.0, 4.2), isso é convertido em
mod(5, 4)
Para conseguir o resultado desejado, tive que multiplicar tudo por 10 e
dividir por 10
select mod(50, 42)/10 as m from rdb$database
matematicamente falando, não importa por quanto você multiplica e
divide, vai dar a mesma coisa. Então, eu multiplicaria logo por 100.000
para ficar bem genérico.
select mod(500000, 420000)/100000 as m from rdb$database
Espero ter ajudado
Eduardo
Murilo Garcia Bento escreveu:
> 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
>
Mais detalhes sobre a lista de discussão lista