No meu eu adicionei uma propriedade chamada "numberValue"
Para nao precisar fazer cast o tempo todo.

        public function get numberValue():Number {
            return new Number( this._value );
        }

        [Bindable(event="valueChange")]
        public function set numberValue(value:Number):void {
            this._value = new Number( value );
            this.text = this.nf.format(this._value);
            this.dispatchEvent(new Event(NumericInput.VALUE_CHANGE));
        }

E uso normalmente assim:
<input:NumericInput id="txtVlOutras" numberValue="@{item.valor}"/>


Em 20 de julho de 2011 10:02, bruno bg <bruno...@ig.com.br> escreveu:

> <components:NumericInput id="idVLAQS" width="209" 
> *value*="{tools.entidadeManipulada.vlaqs}"
> textAlign="right"/>
> onde o *vlaps* deve ser definido como Number na sua classe.
> O próprio NumericInput tem uma function *toNumber*
>
> Talvez seje necessário você usar "binding" , se for SDK 4.5 utilize  o "@".
> ou
> <fx:Binding source="Number(idVLAQS.value)" destination="
> tools.entidadeManipulada.vlaqs"/>
>
> se for no SDK 3.x
> <mx:Binding source="Number(idVLAQS.value)" destination="
> tools.entidadeManipulada.vlaqs"/>
>
>
> brunobg
> --
> ****************************************************
> www.brbsoftware.com.br
> bruno...@ig.com.br  (MSN & Skype)
> blogflex.brunobg.com
> @brunogrohs
> (21) 9913-2397
>
>
>
> Em 20 de julho de 2011 09:52, Reginaldo Ap. Rigo <
> regina...@grupounis.com.br> escreveu:
>
> Então Bruno... deixei assim:
>>
>>  <components:NumericInput
>> id="idVLAQS" width="209"
>> text="{ tools.entidadeManipulada.vlaqs}"
>> change="{tools.entidadeManipulada.vlaqs = idVLAQS.value}"
>> textAlign="right"/>
>>
>>
>> Ocorre a mesma coisa.
>>
>>
>>
>>
>>
>>
>> Reginaldo
>>
>> ...sem querer ser, merecer ser um camaleão...
>>
>>
>>
>>
>> Em 20 de julho de 2011 09:39, bruno bg <bruno...@ig.com.br> escreveu:
>>
>>  Reginaldo,  como comentado pelo autor FABIO ,
>>> vc deve utiliza a propriedade VALUE  e não TEXT.
>>> dá uma lida na parte comentada da classe.
>>>
>>>
>>> abraço
>>>  brunobg
>>> --
>>> ****************************************************
>>> www.brbsoftware.com.br
>>> bruno...@ig.com.br  (MSN & Skype)
>>> blogflex.brunobg.com
>>> @brunogrohs
>>> (21) 9913-2397
>>>
>>>
>>>
>>>
>>> Em 20 de julho de 2011 09:32, Reginaldo Ap. Rigo <
>>> regina...@grupounis.com.br> escreveu:
>>>
>>>
>>>>   Enfim posso até estar usando de maneira errada e por isso a
>>>>
>>>> questão.
>>>>
>>>> Estou usando assim:
>>>>
>>>>
>>>>  <components:NumericInput
>>>>
>>>> id="idVLAQS" width="209"
>>>>
>>>> text="{idVLAQS.formatNumber( tools.entidadeManipulada.vlaqs )}"
>>>>
>>>> change="{tools.entidadeManipulada.vlaqs = idVLAQS.toNumber(
>>>> idVLAQS.text)}" textAlign="right"/>
>>>>
>>>>
>>>> tools.entidadeManipulada.vlaqs é minha tabela na memória e idVLAQS,
>>>> claro, o meu NumericInput
>>>>
>>>> Preciso formatar o texto para que apareca formatada corretamente na tela
>>>> e
>>>>
>>>> preciso formatar toNumber para que o banco não reclame afinal vlaqs é um
>>>> campo numérico.
>>>>
>>>> Mesmo que eu tire a primeira chamada de formatação.
>>>>
>>>>
>>>> O que ocorre desse jeito é que não consigo digitar 0.
>>>>
>>>> Se digitar 470 por exemplo: ele "come' o zero. Se digito de novo. Ai
>>>> aparece e se digito de novo
>>>>
>>>> ai some inclusive o que ele já tinha assumido.
>>>>
>>>>
>>>> Segue abaixo o fonte do NumericInput tal como estou utilizando.
>>>>
>>>>
>>>> Agradeço
>>>>
>>>>
>>>> Reginaldo
>>>>
>>>>
>>>>
>>>>
>>>> package br.com.unisis.unispat.components
>>>>
>>>> {
>>>>
>>>> import flash.events.Event;
>>>>
>>>> import flash.events.FocusEvent;
>>>>
>>>> import mx.controls.TextInput;
>>>>
>>>> import mx.formatters.NumberFormatter;
>>>>
>>>> // import mx.controls.Alert;
>>>>
>>>> /**
>>>>
>>>> * Autor: Fabio da Silva
>>>>
>>>> *
>>>>
>>>> * Classe para digitação de valores, moeda ou não.
>>>>
>>>> * Característica:
>>>>
>>>> * - É utilizado o locale da aplicação para formatação
>>>>
>>>> * - A alteração dos atributos: precision, useNegativeSign e
>>>> useThousandsSeparator
>>>>
>>>> * e a troca de locale da aplicação em runtime provoca a reformatação do
>>>> valor atual.
>>>>
>>>> * - Se useNegativeSign = true e for digitado "-" em qq parte da string,
>>>> então o valor irá¡ ficar negativo.
>>>>
>>>> * - A alteração da propriedade text via código não provoca a sua
>>>> formatação
>>>>
>>>> * - IMPORTANTE: Por conveniência foi criada a propriedade value para
>>>> ser utilizada no lugar de text.
>>>>
>>>> * Setar text no MXML formata o valor passado, mas o mesmo não acontece
>>>> qd setado via código,
>>>>
>>>> * por isso, usar value.
>>>>
>>>> */
>>>>
>>>> [Event(name="valueChange", type="flash.events.Event")]
>>>>
>>>> [Event(name="propertiesNumberFormatChange", type="flash.events.Event")]
>>>>
>>>> public class NumericInput extends TextInput {
>>>>
>>>> /**
>>>>
>>>> * NumberFormatter que serão utilizados para formatar os valores deste
>>>> objeto.
>>>>
>>>> * Foi deixado public somente para que outros objetos possam formatar da
>>>> mesma maneira que este objeto.
>>>>
>>>> */
>>>>
>>>> [Bindable(event="propertiesNumberFormatChange")]
>>>>
>>>> public var nf:NumberFormatter;
>>>>
>>>> private var _precision:uint = 2;
>>>>
>>>> private var _useNegativeSign:Boolean;
>>>>
>>>> private var _useThousandsSeparator:Boolean = true;
>>>>
>>>> private var _value:Object;
>>>>
>>>> private var precisionChanged:Boolean;
>>>>
>>>> private var onlyDigits:RegExp = new RegExp("[^\\d]", "g");
>>>>
>>>> private var useNegativeSignChanged:Boolean;
>>>>
>>>> private var useThousandsSeparatorChanged:Boolean;
>>>>
>>>> public static const PROPERTIES_NUMBER_FORMAT_CHANGE:String =
>>>> "propertiesNumberFormatChange";
>>>>
>>>> public static const VALUE_CHANGE:String = "valueChange";
>>>>
>>>> public function NumericInput() {
>>>>
>>>> super();
>>>>
>>>> this.nf = new NumberFormatter();
>>>>
>>>> this.nf.precision = this._precision;
>>>>
>>>> this.nf.useNegativeSign = this._useNegativeSign;
>>>>
>>>> this.nf.useThousandsSeparator = this._useThousandsSeparator;
>>>>
>>>> this.addEventListener(Event.CHANGE, this.formatHandler, false, 0, true);
>>>>
>>>> this.addEventListener(FocusEvent.FOCUS_IN, this.setCursor, false, 0,
>>>> true);
>>>>
>>>> this.resourceManager.addEventListener(Event.CHANGE, this.formatHandler,
>>>> false, 0, true);
>>>>
>>>> this.maxChars = 20;
>>>>
>>>> this.restrict = "0-9";
>>>>
>>>> this.setStyle("textAlign", "right");
>>>>
>>>> this.value = 0;
>>>>
>>>> }
>>>>
>>>> override protected function updateDisplayList(unscaledWidth:Number,
>>>> unscaledHeight:Number):void {
>>>>
>>>> super.updateDisplayList(unscaledWidth, unscaledHeight);
>>>>
>>>> var formatChange:Boolean = (this.precisionChanged ||
>>>> this.useNegativeSignChanged || this.useThousandsSeparatorChanged);
>>>>
>>>> if (this.precisionChanged) {
>>>>
>>>> this.precisionChanged = false;
>>>>
>>>> this.nf.precision = this.precision;
>>>>
>>>> }
>>>>
>>>> if (this.useNegativeSignChanged) {
>>>>
>>>> this.useNegativeSignChanged = false;
>>>>
>>>> this.nf.useNegativeSign = this.useNegativeSign;
>>>>
>>>> this.restrict = (this.useNegativeSign) ? "0-9\\-" : "0-9";
>>>>
>>>> }
>>>>
>>>> if (this.useThousandsSeparatorChanged) {
>>>>
>>>> this.useThousandsSeparatorChanged = false;
>>>>
>>>> this.nf.useThousandsSeparator = this.useThousandsSeparator
>>>>
>>>> }
>>>>
>>>> if (formatChange) {
>>>>
>>>> this.value = this.text;
>>>>
>>>> this.dispatchEvent(new
>>>> Event(NumericInput.PROPERTIES_NUMBER_FORMAT_CHANGE));
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> ///////////////////////////////////////////////// Propriedades
>>>> ////////////////////////////////////////////////
>>>>
>>>> public function get precision():uint {
>>>>
>>>> return this._precision;
>>>>
>>>> }
>>>>
>>>> /** Seta o número de casas decimais. Default = 2 */
>>>>
>>>> [Inspectable(defaultValue=2)]
>>>>
>>>> public function set precision(value:uint):void {
>>>>
>>>> if (this.precision != value) {
>>>>
>>>> this._precision = value;
>>>>
>>>> this.precisionChanged = true;
>>>>
>>>> this.invalidateDisplayList();
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> public function get useNegativeSign():Boolean {
>>>>
>>>> return this._useNegativeSign;
>>>>
>>>> }
>>>>
>>>> /** Se permite o uso de sinal negativo. Default = false */
>>>>
>>>> [Inspectable(defaultValue=false)]
>>>>
>>>> public function set useNegativeSign(value:Boolean):void {
>>>>
>>>> if (this.useNegativeSign != value) {
>>>>
>>>> this._useNegativeSign = value;
>>>>
>>>> this.useNegativeSignChanged = true;
>>>>
>>>> this.invalidateDisplayList();
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> public function get useThousandsSeparator():Boolean {
>>>>
>>>> return this._useThousandsSeparator;
>>>>
>>>> }
>>>>
>>>> /** Se deve usar separador de milhar. Default = true. */
>>>>
>>>> [Inspectable(defaultValue=true)]
>>>>
>>>> public function set useThousandsSeparator(value:Boolean):void {
>>>>
>>>> if (this.useThousandsSeparator != value) {
>>>>
>>>> this._useThousandsSeparator = value;
>>>>
>>>> this.useThousandsSeparatorChanged = true;
>>>>
>>>> this.invalidateDisplayList();
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> public function get value():Object {
>>>>
>>>> return this._value;
>>>>
>>>> }
>>>>
>>>> [Bindable(event="valueChange")]
>>>>
>>>> public function set value(value:Object):void {
>>>>
>>>> nf.precision = this.precision;
>>>>
>>>> this._value = this.toNumber(value);
>>>>
>>>> this.text = this.nf.format(this._value);
>>>>
>>>> this.dispatchEvent(new Event(NumericInput.VALUE_CHANGE));
>>>>
>>>> }
>>>>
>>>> public function formatNumber(value:Object):String {
>>>>
>>>> nf.precision = this.precision;
>>>>
>>>> this._value = this.toNumber(value);
>>>>
>>>> this.text = this.nf.format(this._value);
>>>>
>>>>    return this.text;
>>>>
>>>> }
>>>>
>>>> /*
>>>>
>>>> public function formataNumero(value:Object):String {
>>>>
>>>> nf.precision = this.precision;
>>>>
>>>> Alert.show("Entrada :: " + value.toString());
>>>>
>>>> this._value = this.toNumber(value);
>>>>
>>>> this.text = this.nf.format(this._value);
>>>>
>>>> Alert.show("Saida :: " + this.text);
>>>>
>>>> return this.text;
>>>>
>>>> }
>>>>
>>>> */
>>>>
>>>> /////////////////////////////////////////////////// Métodos
>>>> ///////////////////////////////////////////////////
>>>>
>>>> private function formatHandler(event:Event):void {
>>>>
>>>> this.value = this.text;
>>>>
>>>> this.setCursor(null);
>>>>
>>>> }
>>>>
>>>> /** Retorna uma String com sómente os digitos de value. */
>>>>
>>>> public function returnDigits(value:Object):String {
>>>>
>>>> return value.toString().replace(this.onlyDigits, "");
>>>>
>>>> }
>>>>
>>>> private function setCursor(event:FocusEvent):void {
>>>>
>>>> this.setSelection(this.length, this.length);
>>>>
>>>> }
>>>>
>>>> /**
>>>>
>>>> * Converte value.toString() para Number, se value não for Number,
>>>> desconsiderando
>>>>
>>>> * os caracteres q não são dígitos e respeitando as configurações.
>>>>
>>>> * Se value == null então retorna 0.
>>>>
>>>> */
>>>>
>>>> public function toNumber(value:Object):Number {
>>>>
>>>> if (value is Number) return new Number(value);
>>>>
>>>> var retorno:Number = 0;
>>>>
>>>> if (value != null) {
>>>>
>>>> retorno = Number(this.returnDigits(value));
>>>>
>>>> // Se estiver marcado q pode ser usado sinal negativo e se encontra-lo,
>>>> então multiplica por -1
>>>>
>>>> if (this.useNegativeSign && value.toString().indexOf("-") > -1) retorno
>>>> *= -1;
>>>>
>>>> }
>>>>
>>>> return (retorno / Math.pow(10, this._precision));
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Em 20 de julho de 2011 09:19, bruno bg <bruno...@ig.com.br> escreveu:
>>>>
>>>>  Reginaldo , tb utilizo esse componente.
>>>>> compartilha qual o bug,  que o FABIO vendo, pode até consertar .
>>>>> ou até mesmo vc pode contribuir para o componente para a comunidade.
>>>>>
>>>>> o FABIO é tranquilo !!!
>>>>>
>>>>>
>>>>> brunobg
>>>>> --
>>>>> ****************************************************
>>>>> www.brbsoftware.com.br
>>>>> bruno...@ig.com.br  (MSN & Skype)
>>>>> blogflex.brunobg.com
>>>>> @brunogrohs
>>>>> (21) 9913-2397
>>>>>
>>>>>
>>>>>
>>>>> Em 20 de julho de 2011 09:16, Reginaldo Ap. Rigo <
>>>>> regina...@grupounis.com.br> escreveu:
>>>>>
>>>>> Putz... É esse mesmo que estou usando..
>>>>>>
>>>>>> Corrigi o bug das casas decimais. Mas ainda tem um outro.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Reginaldo
>>>>>>
>>>>>>
>>>>>> Em 20 de julho de 2011 09:07, Juliano Feltraco 
>>>>>> <feltrac...@gmail.com>escreveu:
>>>>>>
>>>>>> Uso esse...
>>>>>>> com algumas alteracoes
>>>>>>>
>>>>>>>
>>>>>>> http://fabiophx.blogspot.com/2009/04/numericinput.html
>>>>>>>
>>>>>>> Em 20 de julho de 2011 09:06, Samuel Facchinello <
>>>>>>> samuel...@gmail.com> escreveu:
>>>>>>>
>>>>>>> http://fabiophx.blogspot.com/2009/04/numericinput.html
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Att,
>>>>>>>> Samuel Facchinello
>>>>>>>> http://desenvolvendoemflex.blogspot.com
>>>>>>>> Joinville - SC
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Em 20 de julho de 2011 09:01, Reginaldo Ap. Rigo <
>>>>>>>> regina...@grupounis.com.br> escreveu:
>>>>>>>>
>>>>>>>> Pessoal,
>>>>>>>>>
>>>>>>>>> Bom dia!
>>>>>>>>>
>>>>>>>>> Alguem de voces sabe onde posso encontrar um componente para
>>>>>>>>> entrada
>>>>>>>>> de numero no Flex bom?
>>>>>>>>>
>>>>>>>>> Tenho um aqui mas esta com um bug chato e nem tenho tempo de ver o
>>>>>>>>> que
>>>>>>>>> é no momento.
>>>>>>>>>
>>>>>>>>> Valeu.
>>>>>>>>>
>>>>>>>>> Agradeço e bom trabalho.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>  Reginaldo
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Att.
>>>>>>>                 >> Juliano Feltraco <<
>>>>>>>                 9131-6290 - 3526-9786
>>>>>>>
>>>>>>>              "A vida é feita de desafios..."
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>
>>>>
>>>> --
>>>> 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
>>
>
>
>
>  --
> 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
>



-- 
Att.
                >> Juliano Feltraco <<
                9131-6290 - 3526-9786

             "A vida é feita de desafios..."

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