Acho q pelo contrário,  não é uma *imprecisão* mas uma *precisao*.
O valor exibido foi o valor preciso, enquanto vc esperava por um valor
"arredondado".

Essas questoes matemáticas estão relacionadas com todas as linguagens, dá
uma olhada em:
http://en.wikipedia.org/wiki/Floating_point

Vai ver q existe um "problema" em representar valores com ponto flutuante e
precisos em binário, portanto cada linguagem/tecnologia/empresas/etc...
adotou uma forma de corrigir isso. Por isso, também, q pode acontecer de vc
ter valores precisos diferentes a depender da linguagem onde vc faz a conta,
mas tal diferença é muito pqna na precisão do valor que depois ao ser
"arredondado" passa a ser igual em todas as linguagens. No caso do Flex, é
simples, acredito q usando um Formatter com rounding="nereast" deve resolver
isso.

Tem, também, um componente de terceiro que é muito recomendado para
aplicações financeiras, segue link:
http://www.flexdev.com.br/home/flex-fazendo-contas-corretamente/


[]s






Em 26 de maio de 2010 15:03, Vítor Luís Pauda da Silva <
[email protected]> escreveu:

> Pessoal,
>
> encontrei um bug no resultado deste cálculo numa aplicação desktop:
>
> <mx:Button label="Resultado é..." id="btnConverte" 
> click="*btnConverte.label=String(0.621371
> * 1e2*)"/>
>
> O resultado correto deveria ser *62.1371* e dá *62.137100000000004*.
>
> e se eu sobstituir o operando 0.621371 por 0.6213711, dá como resultado *
> 62.1370999999999*.
>
>  O operando *1e2* equivale a *100*, pois é igual a *1 * 10^2*.
>
>
>
> Atenciosamente,
> Vítor Luís
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev




-- 
Mario Junior
http://blog.mariojunior.com/
@mariojunior

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

Responder a