Pode ser Walter, pode ser. Mas hoje já não mais podemos distinguir as linguagens como de cunho científico ou comercial. Tudo depende das bibliotecas que você estiver usando. O que eu defendia era a tese de que poderia ter uma função (tipo essa que você usa), que é mais ou menos a que eu uso.
>Uma linguagem científica não fazer isto de jeito nenhum. >Seria a mesma >coisa que você colocar uma imagem do >demônio dentro de uma igreja. Meio radical isso não?-o que tem demais fazer uma função para facilitar a vida do programador?- Se formos por esse caminho então não deveria existir a função Copy , StrZero no Clipper, IntTo, cada programador que fizesse a sua. Mas tudo bem, eu sou meio comodista mesmo, gosto de me dedicar ao negócio e o menor tempo que eu passar programando melhor para mim. abraços, williams *------------------------------------------- Williams Díaz [EMAIL PROTECTED] http://www.interban.com.br ----- Original Message ----- From: "Walter Alves Chagas Junior" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, November 17, 2004 2:22 PM Subject: RES: [delphi-br] Re: Cálculo Nem o processador e muito menos a linguagem podem tratar isto de forma nenhuma. Lembre-se que o Pascal é uma linguagem de cunho científico. Uma linguagem científica não fazer isto de jeito nenhum. Seria a mesma coisa que você colocar uma imagem do demônio dentro de uma igreja. Quem tem que fazer isto É O PROGRAMADOR Eu uso esta função abaixo que tem me dado ótimos resultados: Function Arredonda( Valor : Double ) : Currency; StdCall; // // Arredonda um valor float // begin result := (Round((Valor + 0.00001) * 100) / 100); end; []s Walter Alves Chagas Junior Projeto e desenvolvimento Telemont Engenharia de telecomunicações [EMAIL PROTECTED] Fone: (31) 3389-8215 Fax: (31) 3389-8200 > -----Mensagem original----- > De: Williams Diaz [mailto:[EMAIL PROTECTED] > Enviada em: quarta-feira, 17 de novembro de 2004 13:25 > Para: [EMAIL PROTECTED] > Assunto: Re: [delphi-br] Re: Cálculo > > > > Completando, > > A forma de apresentação desta dízima é que poderia ser > tratada ou pelo > processador ou pela linguagem para isto não acontecer, > inclusive algumas > linguagens (C#) por exemplo, já minimizam este problema. > Ou seja, o problema é matemático, mas o pessoal do > desenvolvimento comeu > mosca. Afinal quando eles entregam uma string numa variável > eles limpam tudo > (quem trabalhou com cobol antigamente lembra que a gente > tinha que limpar as > variáveis antes de usar, senão teria superposição). > > williams > *------------------------------------------- > Williams Díaz > [EMAIL PROTECTED] > http://www.interban.com.br > > ----- Original Message ----- > From: "Walter Alves Chagas Junior" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, November 17, 2004 2:07 PM > Subject: RES: [delphi-br] Re: Cálculo > > > > Não tem nada de curioso nisto amigo. O que o Fabio disse é a mais pura > verdade. Isto é a característica do ponto flutuante, que > trabalha sempre com > dízima periódica dada a necessidade da altíssima precisão do > valor. Ele > nunca que trabalha com 8.1 mas sempre com > 8.0989174691874628174689274+e e > coisa do tipo. > > Se nao fosse por isto, jamais o Avião existiria e nunca > poderiamos sonhar em > mandar um Homem a lua e uma sonda espacial para Jupiter por exemplo. > > > > > []s > > Walter Alves Chagas Junior > Projeto e desenvolvimento > Telemont Engenharia de telecomunicações > [EMAIL PROTECTED] > Fone: (31) 3389-8215 Fax: (31) 3389-8200 > > > > > -----Mensagem original----- > > De: dom_rr2004 [mailto:[EMAIL PROTECTED] > > Enviada em: quarta-feira, 17 de novembro de 2004 13:00 > > Para: [EMAIL PROTECTED] > > Assunto: [delphi-br] Re: Cálculo > > > > > > > > > > Boa tarde! Desculpem a intromissão mas achei a questão curiosa. Como > > pode 8,100 - 8,100 = 0,000000000000000035561831257245 ? > > > > > > Antecipadamente agradeço > > > > --- Em [EMAIL PROTECTED], "Delphi" <[EMAIL PROTECTED]> > > escreveu > > > Na verdade, quanto a matemática isto é apenas um interpretação > > errada de aproximação decimal. A sobra está sendo apresentada em > > simbologia científica (potência de base dez) ou seja, (- > > 3,5561831257245E-16) representa matematimamente - > > 0,000000000000000035561831257245, o que notóriamente é admitido como > > sendo Zero. Sendo assim podemos considerar a "distância" > entre 0 e 1, > > ou como 0 e -1, como sendo infinita, ou seja, não como se determinar > > quantas divisões podem haver no intervalo -1> = 0< =1. O > que acontece > > no cotidiano é a aproximação do resultado numérico através > do Cálculo > > Diferencial e Integral, para que possamos ter a sensação de > > quantidade, ou seja, 0,1,2,3.... > > > > > > Qto ao programa, o resultado apresentado está correto, vc deve > > apenas "arredondar" o resultado a ser exibido. > > > > > > Fabio Torres Takeuchi > > > Engenheiro Químico > > > ----- Original Message ----- > > > From: Depto de Informatica > > > To: [EMAIL PROTECTED] > > > Sent: Wednesday, November 17, 2004 1:31 PM > > > Subject: [delphi-br] Cálculo > > > > > > > > > Caros colegas, > > > > > > Utilizo o Delphi 5, Access e ADO. O que está acontecendo é o > > seguinte: Tenho um campo do tipo DECIMAL em uma determinada tabela > > que contém o saldo do produto. Quando eu dou a saída de uma > > determinada quantidade deste produto o sistema deverá testar se o > > saldo não fica negativo. Neste campo eu tenho um saldo de 8,100 mas > > quando vou dar saída destes 8,100 (devería ficar com zero de saldo) > > ele me diz que o saldo ficará negativo e o valor que o sistema > > apresenta como sendo o saldo restante é -3,55618312575245E-16. > > > > > > Ou seja o sistema está me mostrando que: 8,100 - 8,100 = - > > 3,55618312575245E-16 > > > > > > Como resolver isso ? > > > > > > Obrigado > > > > > > Luiz Carlos > > > > > > > > > [As partes desta mensagem que não continham texto foram > removidas] > > > > > > > > > > > > -- > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > Para ver as mensagens antigas, acesse: > > > http://br.groups.yahoo.com/group/delphi-br/messages > > > > > > Para falar com o moderador, envie um e-mail para: > > > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > > > > > > > > > Yahoo! Grupos, um serviço oferecido por: > > > > > > São Paulo Rio de Janeiro Curitiba Porto Alegre > > Belo Horizonte Brasília > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > > ---------- > > > Links do Yahoo! Grupos > > > > > > a.. Para visitar o site do seu grupo na web, acesse: > > > http://br.groups.yahoo.com/group/delphi-br/ > > > > > > b.. Para sair deste grupo, envie um e-mail para: > > > [EMAIL PROTECTED] > > > > > > c.. O uso que você faz do Yahoo! Grupos está sujeito > aos Termos > > do Serviço do Yahoo!. > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > Para ver as mensagens antigas, acesse: > > http://br.groups.yahoo.com/group/delphi-br/messages > > > > Para falar com o moderador, envie um e-mail para: > > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > Para ver as mensagens antigas, acesse: > http://br.groups.yahoo.com/group/delphi-br/messages > > Para falar com o moderador, envie um e-mail para: > [EMAIL PROTECTED] ou [EMAIL PROTECTED] > > Links do Yahoo! Grupos > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html