Tente o seguinte:

1) Remova a vírgula das restrições (ou seja, restrinja apenas 0-9. (ponto))
2) No evento KeyPress ou KeyDown do textInput, verifique se a tecla pressionada é vírgula
3) Caso seja, faça o seguinte:

var ti:String = textInput.text;

ti = ti.substr(0, textInput.selectionStart) + "." + ti.substr(textInput.selectionStart + textInput.selectionLength + 1)
textInput.text = ti

(não tenho certeza quanto ao nome da propriedade selection start e length, dá um look na documentação).

O que isso faz?

Quando eu pressionar a tecla vírgula, ele insere um ponto na posição atual do cursor (que é definido por selectionStart).

--------------------------------------------------
From: "samuelfac" <samuel...@gmail.com>
Sent: Friday, December 18, 2009 5:40 PM
To: "flexdev" <flexdev@googlegroups.com>
Subject: [flexdev] Re: Trocar virgula por ponto ao digitar

alguem???

On 17 dez, 12:51, samuelfac <samuel...@gmail.com> wrote:
Obrigado pelas respostas, mas nao posso fazer join ou replace, pois eh
um textInput, e a variavel de moeda, eh Number...

ex:
<s:TextInput id="txtInput"
    change="{controller.changeValor(parseFloat(txtInput.text))}"
    restrict="0-9.,"/>

tentei colocar o replace assim:
<s:TextInput id="txtInput"
    change="{controller.changeValor(parseFloat(txtInput.text.replace
(',','.')))}"
    restrict="0-9.,"/>

mas da muito problema assim...

o q eu gostaria mesmo, seria uma funçao por exemplo:

keyDown - ao precionar a verigula, o valor retornado eh o Ponto...
mas nao sei como fazer.

Muito Obrigado.

On 16 dez, 20:28, Douglas Guimarães de Freitas <hay...@gmail.com>
wrote:

> faz com split e join ou procura por expressao regular..

> 2009/12/16 RafaelViana <rfl.vi...@gmail.com>

> > No evento change do textinput, você verifica se tem vírgula e faz um
> > replace por ponto?

> > On 16 dez, 17:42, samuelfac <samuel...@gmail.com> wrote:
> > > Olá pessoal.

> > > Em um textinput, quero digitar valores de moeda (R$), e fiz uma
> > > limitaçao de caracteres assim: restrict="0-9."

> > > neste caso nao permito a digitaçao de virgula,
> > > mas aih vem onde eu quero chegar...

> > > como faço para no momento em que a pessoa precionar a vrgula, seja
> > > retornado um ponto???

> > > *PS: nao gostaria de usar componentes externos.

> > > Muito 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 > > emhttp://groups.google.com/group/flexdev

> --
> Douglas G. de Freitas



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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Responder a