Números reais com vírgula e não ponto no FLEX [RESOLVIDO].  XML
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Autor Mensagem
EugenioMonteiro
JavaTeenager
[Avatar]

Membro desde: 17/11/2007 15:36:32
Mensagens: 176
Offline

Como eu faço para ler um número de um TextInput (Adobe Flex) de modo que ele seja convertido pelo formato de números brasileiro brasileiro e não pelo americano?
Por exemplo:

Se eu digitar 9.5, o sistema aceita converter de texto para número, porém se eu digitar 9,5, não funciona a conversão.

This message was edited 2 times. Last update was at 17/12/2009 07:37:07


Analista de T.I.
Universidade Federal de Minas Gerais

[MSN]
ivandasilva
JavaEvangelist
[Avatar]

Membro desde: 03/11/2007 11:48:58
Mensagens: 309
Offline

Tente o método parse(String s, int pos) do SimpleDateFormat...

O sol nasce, a bicicleta anda, o lobo uiva e o urso panda.
[WWW] [MSN]
orlandocn
Java Ninja
[Avatar]

Membro desde: 30/07/2005 12:42:29
Mensagens: 262
Offline

ivandasilva wrote:Tente o método parse(String s, int pos) do SimpleDateFormat...


na verdade seria DecimalFormat


CGHP - Certified Go Horse Professional
CFMU - Certified Fanfarrão Masters of the Universe
next target --> CFG - Certified Fanfarrão Guru
"Scrum é apenas XP sem as práticas e técnicas que a fazem funcionar."
ivandasilva
JavaEvangelist
[Avatar]

Membro desde: 03/11/2007 11:48:58
Mensagens: 309
Offline

Malz..........

O sol nasce, a bicicleta anda, o lobo uiva e o urso panda.
[WWW] [MSN]
EugenioMonteiro
JavaTeenager
[Avatar]

Membro desde: 17/11/2007 15:36:32
Mensagens: 176
Offline

Esqueci de um detalhe: não falei que se tratava de FLEX.

Analista de T.I.
Universidade Federal de Minas Gerais

[MSN]
henrique.marino
Thread.start()

Membro desde: 29/09/2009 18:12:26
Mensagens: 37
Offline

Se vc quiser trafegar números entre Java e Flex, vc terá que converter esse número já no Flex. Uma solução seria utilizar o NumberFormatter para transformar um número 1.000,01 (padrão Brasileiro) para 1,000.01 padrão Americano.

A utilização do NumberFormatter é tranquilo, da uma olhada na doc, se vc não conseguir avisa...

[]s,


Henrique F. Marino

www.dclick.com.br
blog.dclick.com.br
fabiophx
Java Ninja

Membro desde: 17/04/2006 14:05:56
Mensagens: 283
Localização: Montenegro-RS
Offline

Eugênio,
Disponibilizo um componente q pode lhe ser útil: http://fabiophx.blogspot.com/2009/04/numericinput.html

[]s
Fabio da Silva
http://fabiophx.blogspot.com/

Fabio da Silva
http://fabiophx.blogspot.com/
[WWW]
EugenioMonteiro
JavaTeenager
[Avatar]

Membro desde: 17/11/2007 15:36:32
Mensagens: 176
Offline

Tudo bem, com o NumberFormatter eu consegui formatar os valores e mostrá-los nos campos. Mas, e agora como eu faço para pegar os números formatados com vírgula e transformá-los para Number? Quando estão separados por ponto, o construtor de Number aceita, porém com vírgula não funciona.

Analista de T.I.
Universidade Federal de Minas Gerais

[MSN]
fabiophx
Java Ninja

Membro desde: 17/04/2006 14:05:56
Mensagens: 283
Localização: Montenegro-RS
Offline

Uma coisa q esqueci de comentar sobre o componente NumericInput é q para pegar o valor como Number é só utilizar a propriedade value. Toda digitação seta esta propriedade utilizando a função toNumber.

Fabio da Silva
http://fabiophx.blogspot.com/

Fabio da Silva
http://fabiophx.blogspot.com/
[WWW]
EugenioMonteiro
JavaTeenager
[Avatar]

Membro desde: 17/11/2007 15:36:32
Mensagens: 176
Offline

fabiophx, como eu faço para colocar esse componente no meu sistema? Eu quero colocá-lo na paleta visual.

Analista de T.I.
Universidade Federal de Minas Gerais

[MSN]
fabiophx
Java Ninja

Membro desde: 17/04/2006 14:05:56
Mensagens: 283
Localização: Montenegro-RS
Offline

Vc pode colocar os fontes diretamente com os teus.
Ou vc pode criar um Flex Library Project e colocar os fontes neste projeto, ao compilar ele irá gerar um .swc, e no projeto q vc irá usá-lo vc vai em Project > Properties > Flex Build Path > Library Path e clica em um dos botões da direita.

Fabio da Silva
http://fabiophx.blogspot.com/

Fabio da Silva
http://fabiophx.blogspot.com/
[WWW]
henrique.marino
Thread.start()

Membro desde: 29/09/2009 18:12:26
Mensagens: 37
Offline

Eugênio, vc terá que ter um NumberFormatter para transformar de US para BR e um outro para transformar BR para US...

O number formatter vai retornar uma string, ai é só fazer var number:Number = Number(valorFormatado). Neste caso o cast é utilizado para fazer a CONVERSÃO do tipo String para Number, por isso funciona...


[]s,

Henrique F. Marino

www.dclick.com.br
blog.dclick.com.br
EugenioMonteiro
JavaTeenager
[Avatar]

Membro desde: 17/11/2007 15:36:32
Mensagens: 176
Offline

Resolvi o problema fazendo uma função que retorna Number. Essa função pega a String retornada pelo NumberFormatter, substitui a vírgula por ponto e retorna.

Analista de T.I.
Universidade Federal de Minas Gerais

[MSN]
 
Índice dos Fóruns » RIA - Flex, JavaFX e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team