Actually, if you are just going to hide the label field, you can just have it 
display the result of the formatting, and put the checking for NaN and infinity 
into the setting for visibility. Since you are going to hide the label and it 
has a value you don't like, you don't really care what it is displaying when it 
is invisible.

 Sid Maskit
Partner 
CraftySpace
Better Websites for a Better World
http://www.CraftySpace.com
blog: http://smaskit.blogspot.com/



----- Original Message ----
From: Sid Maskit <[EMAIL PROTECTED]>
To: flexcoders@yahoogroups.com
Sent: Thursday, July 31, 2008 9:37:19 AM
Subject: Re: [flexcoders] NaN and Infinity showing in output - How to modify?


Try something like this:

<mx:Label id="display" text="{(isNaN( myNumber as Number)) ? 0 : 
PrepForDisplay. format(myNumber) }" visible="{display. text != '0' &amp;&amp; 
display.text != 'In,fin,ity. 00'}"/>

Note that you need to give the Label component and id, and use that id to refer 
to it in your statements within braces.

By the way, as you are no doubt noticing, the larger point here is that braces 
are not just for binding, but can contain all sorts of ActionScript.

Finally, the reason that there is &amp;&amp; instead of  && is that we are 
inside of MXML, which is to say inside of XML, and we cannot use the & 
character there, but must escape it.

 Sid Maskit
Partner 
CraftySpace
Better Websites for a Better World
http://www.CraftySp ace.com
blog: http://smaskit. blogspot. com/



----- Original Message ----
From: Blair Cox <[EMAIL PROTECTED] a.com>
To: [EMAIL PROTECTED] ups.com
Sent: Thursday, July 31, 2008 9:19:46 AM
Subject: Re: [flexcoders] NaN and Infinity showing in output - How to modify?


Just one more question. The zero works for me, but I’m sure I’ll be asked to 
make it blank. Any hints as to how this could be accomplished? Coming from the 
Flash side of things, all I would be looking to do is change the alpha value of 
the label to zero if the value was 0.


isNaN(mynumber) ? 0 :


-- 
Blair Cox

http://www.luminult ra.com





________________________________
From: Sid Maskit <[EMAIL PROTECTED] com>
Reply-To: <[EMAIL PROTECTED] ups.com>
Date: Thu, 31 Jul 2008 07:51:38 -0700 (PDT)
To: <[EMAIL PROTECTED] ups.com>
Subject: Re: [flexcoders] NaN and Infinity showing in output - How to modify?

 
 

If the format function is a custom function you have written, you could just 
have it check whether you like the result it is about to return, and if not, 
return something else. If that is not the case, I believe that you should be 
able to put tests into your binding statement. 

You could test for NaN with something like this:

<mx:Label text="{(myNumber is NaN) ? 0 : PrepForDispl ay.format( myNumber) }"/>

I'm not sure about infinity, but I assume that you can test for this by looking 
for the greatest possible value of the number. Assuming that you have set up 
the variable maxValue to contain that value, you should be able to do something 
like this:

<mx:Label text="{(myNumber > maxValue) ? 0 : PrepForDispl ay.format( myNumber) 
}"/>

If you put the two together, it would look something like this:

<mx:Label text="{(myNumber is NaN) ? 0 : (myNumber > maxValue) ? 0 : 
PrepForDispl ay.format( myNumber) }"/>

 
Sid Maskit
Partner 
CraftySpace
Better Websites for a Better World
http://www.CraftySp ace.com
blog: http://smaskit. blogspot. com/
 
 


      

Reply via email to