Quando a gente fala de valores gigantes ou valores com uma precisão muito
grande, só tem uma solução para trafegar esses dados sem perda de precisão:
String.
Trafegue em String, se precisar fazer calculo no cliente, use uma
implementação da BigDecimal para Flex, se precisar fazer no server-side tem
as alternativas também. Flex (e qualquer outra linguagem client-side) não
tem intenção ser preciso nativamente.

--
Gustavo Y. Kawamoto


2009/12/23 J.C.Ködel <jcko...@gmail.com>

>  Veja bem:
>
> Mostrar valores Decimal (BigDecimal) no client podem ser TRANQÜILAMENTE
> feitos até mesmo com Single (float de 4 bytes).
>
> O problema é só em se fazer contas, onde float e double dão erro de
> arredondamento feito (acredite, já implementei Basileia II para bancos e o
> double ferra legal com os centavos, algo inaceitável para bancos).
>
> Por isso eu digo: se não for fazer contas no client, pode converter para
> single/float com toda tranqüilidade.
>
> Claro, isso falando-se de números utilizados para fins financeiros. Para
> fins científicos, a representação destes números em Flex é possível apenas
> com String (e obviamente não se faz contas com eles).
>
> Para simples exibição e cálculos não muito complexos (ou que possam se dar
> ao luxo de erros de arredondamento), pode usar Number tranqüilo client-side.
>
> Quanto a não fazer cálculos no client em hipótese alguma é porque eu sou
> adepto ao SOA (Soldiers Of Apocalipse, ops, quero dizer, Service Orientated
> Application), onde toda (toda mesmo) lógica está em serviços, completamente
> independentes de UI e fontes de dados, me permitindo, por exemplo, alterar
> fontes de dados e até mesmo fazer aplicativos multi-mídia (no sentido de
> várias tecnologias de UI) sem me preocupar com nada.
>
> Ex.: Faço um software que deve funcionar em Desktop, Web e Mobile. Com
> certeza utilizaria AIR e Flex/WPF e Silverlight, mas isso não roda no
> Mobile, então faria em DotNet Compact ou Micro. Deixar lógica que não seja
> de UI nos clientes não seria uma boa, concorda?
>
>
>  *From:* Fabio Ebner <faeb...@gmail.com>
> *Sent:* Wednesday, December 23, 2009 9:38 AM
> *To:* flexdev@googlegroups.com
> *Subject:* Re: [flexdev] BigDecimal no Flex
>
> Kodel, e qual a solucao para esse problema?? pq os valores q eu preciso
> estao em um tabela, logo tenho q retornar para o Flex o q? um float ou
> double que no caso vira Number no flex?? e outra e conta simples, de
> soma e/ou multiplicacao nada mto complexo
>
>
> obrigado
>
>
> Em 22/12/09, J.C.Ködel <jcko...@gmail.com> escreveu:
>>
>>  Nop. BigDecimal (igual ao Decimal do .net) é um número de 128 bits.
>> O Flex suporta, no máximo, 53 bits para representação numérica, reguladas
>> pela IEEE-754.
>>
>> O fato é que um Decimal tem este tamanho não pelo tamanho da parte
>> inteira, mas sim pela precisão de ponto flutuante (valores menores como
>> Single e Double apresentam erros de arredondamento). O que isso quer dizer?
>> NÃO FAÇA CONTAS EM CLIENT-SIDE =)
>>
>>
>>
>>  *From:* Fabio Ebner <faeb...@gmail.com>
>> *Sent:* Tuesday, December 22, 2009 3:58 PM
>> *To:* flexdev@googlegroups.com
>> *Subject:* [flexdev] BigDecimal no Flex
>>
>>
>> Pessoal, no java eu trabalho com BigDecimal, tem alguma coisa
>> correspondente no flex? pq eu coloquei como Number e veio NaN(null)
>>
>>
>> obrigado
>>
>> --
>> 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
>>
>>
> --
> 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
>

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