isso ja existe estou procurando aki o link para te passar

On Dec 28, 2007 3:04 PM, Luis Eduardo - Suprasis Softwares <
[EMAIL PROTECTED]> wrote:

>
>
>
>    Abre o código fonte do BigDecimal do java, converte ele pra AS e
> envia aqui pra gente  ;)
>
>
>    -Luís Eduardo.
>
>
>
> Tião da Obra escreveu:
> > Como vai pessoal, depois de muita dor de cabeça fazendo contas com
> > números quebrados, tanto o Flex quando o JAVA dão um trabalhão com
> > estes resultados:
> >
> > Código de Exemplo:
> >
> > private function calcular():void {
> >     var x:Number = 4502.73;          // 4502.73
> >     var y:Number = x * 100;           // 450273.00
> >     var z:int = int(x * 100);             // 450273
> >
> >     trace("x: " + x);                     // *x: 4502.73
> > *    trace("y: " + y);                     // *y: 450272.99999999994
> > *    trace("z: " + z);                     // *z: 450272  *  faltou 1
> > centavo
> > }
> >
> >
> > Perceberam que faltou um 1 centavo na última conta? E que na segunda
> > conta uma mera multiplicação se tornou um número cabuloso?
> >
> > Já vimos este problema antes e culparam o próprio hardware, solução
> > ainda não inventaram, logo não seria um "BUG" do Flex.
> >
> > Pois é, fazer contas que envolvam números com itens primos é uma bruta
> > dor de cabeça. Pra toda conta você precisa arredondar, multiplicar por
> > 100, passar pra inteiro, somar, dividir por 100 novamente. Um exemplo
> > seria:
> >
> > private function calcular():void {
> >     var x:Number = 4502.73;          // 4502.73
> >     var y:Number = *Math.round(*x * 100*)*;           // 450273.00
> >     var z:int = int(*Math.round(*x * 100*)*);             // 450273
> >
> >     trace("x: " + x);                     // *x: 4502.73
> > *    trace("y: " + y);                     // *y: 450273*
> >     trace("z: " + z);                     // *z: 450273  *
> > }
> >
> > Alguém aqui na lista já implementou o tão esperado BigDecimal pra nós?
> >
> > Se implementaram manda o código. Ah, cuidado com os seus programas de
> > eCommerce, seu cliente vai ficar muito puto em saber que faltou o troco.
> >
> > Abraço,
> > -Daniel
> >
> > >
>
>
> >
>


-- 
Hudson Afonso

--~--~---------~--~----~------------~-------~--~----~
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