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
>
> >
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
[flexdev] Re: Ponto Flutuante - BigDecimal
Luis Eduardo - Suprasis Softwares Fri, 28 Dec 2007 08:04:39 -0800
- [flexdev] Ponto Flutuante - BigDecimal Tião da Obra
- [flexdev] Re: Ponto Flutuante - Big... Luis Eduardo - Suprasis Softwares
- [flexdev] Re: Ponto Flutuante -... Hudson Afonso
- [flexdev] Ponto Flutuante - BigDeci... Tião da Obra
