Então estou fazendo alguma coisa errada, tem como alguém dar uma olhada? Para 
mim ainda aparece 67.19

var numFormat:NumberFormatter = new NumberFormatter();
numFormat.precision = 2;
var a:Number = 6;
var b:Number = 11.2;
var c:Number = a * b;
edTot.text = numFormat.format(c);


  ----- Original Message ----- 
  From: Mário Júnior 
  To: flexdev@googlegroups.com 
  Sent: Friday, March 06, 2009 10:46 AM
  Subject: [flexdev] Re: Erro ao multiplicar variáveis


  sim.
  já foi usado num sistema de orçamento publico de uma grande prefeitura... já 
pensou se desse problema??? :D
  (na verdade, no começo houve uma falha de 1 centavo para cada operação, mas 
depois foi só acertar o precision dentro do próprio formatter)






  2009/3/6 Alberto <alberto.ferre...@tan.com.br>

    Olá,

    Tem certeza que o NumberFormatter vai resolver esse problema?



    ----- Original Message ----- 
      From: Mário Júnior 
      To: flexdev@googlegroups.com 
      Sent: Friday, March 06, 2009 9:22 AM
      Subject: [flexdev] Re: Erro ao multiplicar variáveis


      Fala Pedrão, blz?

      Então.. como a Gabriela mostrou, "problemas" de arredondamento de ponto 
flutuante é um tiro no pé em qualquer linguagem.
      No link q ela mostrou, tem um simples exemplo q sendo feito com qualquer 
linguagem terá resultados inesperados.

      Bem.. oq vc pode fazer é usar o .toPrecision mesmo q vc já disse ter 
funcionado, ou usar um <mx:NumberFormat> que irá exibir o número da forma 
corretamente.

      Lembrando que isso não é um problema da linguagem, mas da forma que 
números são representados binariamente, ou seja, esse "problema" existe desde 
1954 quando a IBM criou a primeira máquina capaz de fazer arredondamentos... a 
história segue aqui: http://en.wikipedia.org/wiki/Floating_point


      Um Abraço.







      2009/3/6 Gabriela Trindade Perry <gabrielape...@hotmail.com>


        
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_13989&sliceId=1

        Roundoff error is a fact of life in any computer program that uses
        floating-point arithmetic.

        Acho que precisamos de um pouco mais de cuidado antes de sair
        "queimando" o máquina.






      -- 

      Mário Júnior
      Programador Java / Adobe Flex
      http://blog.mariojunior.com






  -- 
  Mário Júnior
  Programador Java / Adobe Flex
  http://blog.mariojunior.com

  

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a