Actionscript 3 :: Number Data Type Automatically Loses Precision In Flex?
May 19, 2011private function getPercentage(max:Number, value:Number):int
{
return Number((value*100) / max);
[code].....
private function getPercentage(max:Number, value:Number):int
{
return Number((value*100) / max);
[code].....
How do i get random number to a certain precision.AS3 generates random numbers between 0 and 1 using Math.Random().
View 2 RepliesI'm trying to get the sum of two number values in an XML file, so I'm doing this:
PHP Code:
_root.gallery_height = myGalleryXML.firstChild.attributes.height; // '200'
_root.spacing = myGalleryXML.firstChild.attributes.vertical_spacing; // '20'
_root.bar_y= _root.gallery_height+_root.spacing;
trace(_root.bar_y); //outputs 20020
The answer is supposed to be 220, but it comes out at as 20020 because the interpreter treats then as strings.
I can fix the problem by casting the type using the Number() method this way:
PHP Code:
_root.gallery_height = myGalleryXML.firstChild.attributes.height; // '200'
_root.spacing = myGalleryXML.firstChild.attributes.vertical_spacing; // '20'
_root.bar_y= Number(_root.gallery_height)+Number(_root.spacing);
trace(_root.bar_y); //outputs 220
This works fine, but is it *the right* way of doing it? Why is Flash treating my numbers as strings?
When adding Numbers, AS3 seems to add incorrectly?:
Code:
var num:Number = 5.4;
for(var i:int=0; i<100; i++)
{
[Code]...
Why do I get Numbers into the tens of decimal points?
[Code]...
"0-9" restricts my textInput field to numeric values and a decimal point. Is there a way I can extend this so only two places follow the decimal?
How to encode LONG_INT binary representation from AS3 Number data type (using ByteArray)?Need it for implementing data transmission protocol between client and server.
View 5 RepliesI am returning 12345678910111213171819 from java to flex, with in xml tags using http service. The result format is object.
but when I display the text it automatically converted or treated as number so it displays like 1.234567891011121317181 x e^21 .[code]...
I have a dynamic text field on the stage, instance name contentLength. I get this error: 1067: Implicit coercion of a value of type Number to an unrelated type String.
Code:
import flash.display.*;
import flash.events.*;
import flash.text.TextField;
var mcHolder:MovieClip = new MovieClip();
mcHolder.width = 200;
contentLength.text = mcHolder.width;
I've created a textfield which I want to hold the time that is left of a flv being played. I also created a timer which will see to it that it gets updated.[code]However, when i try to compile i get this error message:"1067: Implicit coercion of a value of type Number to an unrelated type String.
View 2 RepliesI have datagrid binded with data acquired from web service which, as you may suspectretrieves data from some db. Datagrid has some editable columns and I want to update db through appropriate web service call without adding button "Update" as a last column in datagrid.
View 1 Replies1067 Implicit coercion of a value of type Number to an unrelated type String. Why does this erroror come up in this code:
const PHI:Number = 1.61803;const PHISON:Number = .61803
var n1:Number=Number(a_txt.text)var n2:Number=Number(b_txt.text)
calculat_btn.addEventListener(MouseEvent.CLICK, cbac);
function cbac (evt:MouseEvent):void{b_txt.text = n1 * PHI;}
var time1:Number;
time1 = (rs1 * steppermin) / 1440;
ps1.text = time1.toString();
1067: Implicit coercion of a value of type mx.controls:TextArea to an unrelated type Number.
i have a algorithm from javascript i would like to use in AS3 but get an error:Scene 1, Layer 'Layer 1', Frame 1, Line 81067: Implicit coercion of a value of type Number to an unrelated type String.
Code:
var a = [34, 203, 3, 746, 200, 984, 198, 764, 9];
function mergeSort(arr)
{
[code]....
I have 2 questions about flex datagrids: How can I scroll it automatically to the bottom when new portion of data arrived to it (e.g. I added new items). Strange, but seems it doesn't scroll when I use scrolling wheel, is there any trick about it (especially for mac Users).
public function scroll():void {
trace(chatboard.maxVerticalScrollPosition);
chatboard.verticalScrollPosition = chatboard.maxVerticalScrollPosition;
} <mx:TextArea id="chatboard" x="10" y="10" width="310" height="181" text="{chatMessages}" editable="false" verticalScrollPolicy="on" resize="scroll()"/>
But actually it don't work. The text area is not autoscrolled. Seems that 1) scroll is not called after new string is added to chatMessages.
I am showing the web service data into flex application using datgrid. I need to show this data scrolling automatically in continuous manner. Anyone knows how to do this stuff?
View 1 Repliesexplain this...
var i:Number = 7059467160524343000;
trace(i);
i = 7059467160524343700;
trace(i);
i = 7059467160524343999;
[Code]...
var n:Number = 1;
trace("n is Number:" + (n is Number)); //true
trace("n is int:" + (n is int)); //true
trace("n is uint:" + (n is uint)); //true
[Code]...
They all true! in actionscript, how to tell whether the type of a number if Number or int or uint?
What data type do I use in flex (flash builder) to create a "double" or "float" data type. I need the numbers after a decimal point. (i.e. prices)
View 2 RepliesI import XML data in order to fill an AdvancedDataGrid (using Flex 4.5). This ADG is correctly filled with the data, columns display the right information etc. etc.
I would like to summarize this ADG using
<mx:SummaryRow summaryPlacement="group">
<mx:SummaryField2 dataField="Cost" label="amount" summaryOperation="SUM">
</mx:SummaryRow>
But there is a problem! Indeed, the 'Cost' data are imported as 'Strings' and that is why I cannot do the SUM... I just get a nice 0 as a result! I would like to convert these data into Numbers, so that the addition can be processed. This conversion has to be done before filling the ADG I think.
I already tried to implement a custom summaryOperation but was unlucky...
public function calculateSummary(data:Object, field:SummaryField2, rowData:Object):void
{
var dataField:String = field.dataField;
[Code]...
The Alert always displays a void message, the data are not transmitted to this function I think
There is another thing: the user can insert new data in the XML dynamically and that insertion has to update the SUM result.
I need to create a table and i need to be able to add data and change the data automatically using values computed by other functions. I was trying to use arrays to create the rows of the table but i dont know how to individually name each array. The arrays have to created automatically and so i cannot name each array manually.[code]but the value for the array is undefined.
View 1 RepliesI have an arbitrary number of files that I need to load in an AIR app.I want to iterate through an array of File object and create and launch Loaders for each one's File.url.When they are done (event COMPLETED or IOErrorEvent.IO_ERROR), I want to stuff their data somewhere. If they fail, I want to make an exception report. I cannot find any way to reference the File object from the event listener (certainly not the IO_ERROR)The best way would be to create individual event handlers for each Launcher that had the File information "hard-coded" into it. At the very least, I could use the function itself as an index to a Dictionary:
foo(fileToLoad : File) : void
{
var theCompletedHandler : Function =
{
[code]....
Can I use event.currentTaget and use the Loader instance as an index? Will that have any weird dependencies ?
I have a very strange problem in a Flex 3.4 Datagrid. One of the columns is a ComboBox - I have my own custom renderer for the ComboBox. I use it to select my data and then make a "save" to the db. Upon return the comboBox loses its value. Even stranger is that when I scroll the datagrid area to the left (by moving scrollbar right) - the values in the ComboBox change!! When I scroll the datagrid right (by moving the scrollbar left) - the values in the ComboBox don't change.
View 2 RepliesI have done an ovveride of the standard TextInput component In this component I have :
addEventListener( FocusEvent.FOCUS_OUT, handleFocusOut ); My method is trigerred when the field loose focus for another field (nice)Problem : It is trigerred alose when the whole flex application lose focus (when my field has the current focus inside my form)
My Sprite class keeps losing focus when I click with the mouse - specifically after the MOUSE_DOWN event (before the click is complete).
I have set mouseEnabled to false on the children, no change. I added a listener for FOCUS_OUT and noticed that the FocusEvent.relatedObject property is NULL, which is confusing me - doesn't that mean there is no new focus target, the focus is just getting lost?
The exact sequence of events I get, by tracing them, as I click:
[FocusEvent type="focusOut" bubbles=true cancelable=false eventPhase=2 relatedObject=null shiftKey=false keyCode=0]
[MouseEvent type="mouseDown" bubbles=true cancelable=false eventPhase=2 localX=355
[Code]....
I have a custom TextInput that listens for the FocusEvent.FOCUS_IN and FocusEvent.FOCUS_OUT events:
textDisplay.addEventListener(FocusEvent.FOCUS_IN, onFocusInHandler);
textDisplay.addEventListener(FocusEvent.FOCUS_OUT, onFocusOutHandler);
My onFocusInHandler function basically removes a "promptview" that tells the user to type in a value, with the onFocusOutHandler doing the opposite.
For example, if the TextInput text was backspaced to a blank value and the user clicks out of the TextInput box, it would show a "Please enter a value" light-gray prompt in the TextInput.
This works fine until the user clicks our custom "Clear" button. The clear button sets the text to "", and I can tell the FocusEvent.FOCUS_OUT is received because the prompt text is set to visible (its not being set anywhere else). The problem is, the cursor remains in the box as if it still has focus, so if the user immediately starts typing, both the prompt text "Please enter a value" and the user-entered text appears over the gray text, which looks pretty ugly and unreadable.
Why does the TextInput receive the FocusEvent.FOCUS_OUT event if it's not actually losing focus?
i'm trying to include a number of images in my SWF file not by loading them but by embedding them in the SWF itself. I found the following instruction to do that:
[Embed(source="../graphics/images/ss0.png")]
private var SS0:Class;
Basically, i want to embed a different number of images each time. Is there a way to do that automatically (let's say inside a for loop) or do i have to type manually this instruction for each image i want to include?
I need to send a byte array of data (its an image source) along with a bunch of other vars to a service.If I send the byte array using something like the following
var request:URLRequest = new URLRequest ( 'http://www.mydomain.com/upload.php' );
var loader: URLLoader = new URLLoader();
request.contentType = 'application/octet-stream';
[code].....
i load in AS3 data into flash and mantain their data type? Like receiving an array and even with arrays in it and recognizing that is an array instead of a standard string.
And if this is possible is it more reliable then using XML?
The following will ensure that any large numbers will only be precise to the hundredths place (related to this answer):
public function round( sc:Number ):Number
{
sc = sc * 100;
sc = Math.floor( sc );
[Code]....
What is the optimal way to round my numbers to the precision of .05? Is there something clever to be done with bit-shifting to get this result? For example, I would like:
3.4566 = 3.45
3.04232 = 3.05
3.09 = 3.1
3.32 = 3.3
Just started playing with the new AIR functions NetworkInfo and NetworkInterface, but can't build ...
This is the example I started from: tourdeflex But these lines cause errors:
var networkInfo:NetworkInfo = NetworkInfo.networkInfo;
var networkInterfaces:Vector.<NetworkInterface> = networkInfo.findInterfaces();