[firebase-br] Problemas com calculos

Eduardo Jedliczka (TeamFB) jedyfb em gmail.com
Seg Mar 20 17:28:17 -03 2006


que tal resolver com "alguns" casts... (mas preste atenção na precisão do 
número...)

 Select (Cast (140 * 1.03  /0.5017) as numeric(14,5)) * Cast (1.035 *2 
*0.50) as numeric(14,5)) * Cast(0.93 *0.97) as numeric(14,5))) as VALOR From 
RDB$DATABASE

======================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - PR
======================

----- Original Message ----- 
From: "Carlos H. Cantu (TeamFB)" <listas em warmboot.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, March 20, 2006 5:19 PM
Subject: Re: [firebase-br] Problemas com calculos


Tirando o .00, o FB trata 140 como inteiro.

O resultado de "inteiro"  * 1.03 é alguma coisa com 2 casas decimais.

O resultado de 140.00 * 1.03 é alguma coisa com 4 casas decimais, que
multiplicado pelos outros fatores, faz com que o Firebird pense que
não vai caber em nenhum tipo de dado existente.

Ex:

1 * 1.00 = 1.00
1.00 * 1.00 = 1.0000
1.00 * 1.00 * 1.00 = 1.000000

No exemplo original, devia estar dando um resultado com 17 casas
decimais!

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

J> Apenas retirando o ".00" do 140.00 não apresentou o erro...

J> Select (((140 * 1.03) /0.5017) *1.035 *2 *0.50 *0.93 *0.97) as VALOR
>>From RDB$DATABASE

J> []'s
J> Alirio Botelho Junior
J> --------------------------------------------------
J> Fiorilli S/C Ltda Software
J> (17) 3264-9000
J> email: junior em fiorilli.com.br



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista