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.comPara 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
smime.p7s
Description: S/MIME cryptographic signature