Actionscript 3 :: Round Some Numbers In Two Decimal Point And Run Into A Bizare Behavior
Mar 27, 2012I am trying to round some numbers in two decimal point and I run into a bizare behavior.
[Code]...
I am trying to round some numbers in two decimal point and I run into a bizare behavior.
[Code]...
I have been tasked with creating a custom "calculator" for a client that uses a specific equation. The client inputs data into two Input Text fields and the result shows up in a dynamic text field. Is there any way I can limit the number of decimal places to two? Here is my code (which works, except for the decimal issue):i function onCalculate(){one = Number(number_one);two = Number(number_two);result_1 = ((one / 4) * (65 / (1 - 0.25))) + ((two / 0.5) * (65 / (1 - 0.25)));}
View 3 RepliesI really need help with my code...okay how to put ".00" after round the numbers in 2 decimal places..this code works well with another numbers but if I'm try with this number it will output the numbers as "9" only.
[Code]...
I've frequently come across the issue when placing a movieclip or bitmap, the resting position of said object will land on a decimal value, not a nice, full pixel value. For instance, I drag a movie clip into a scene and it lands on a position of: X: 27.2, Y: 56.9, when I'd like it to be X: 27, Y: 57.
Now, this wouldn't bother me as much if I were dealing only in vector shapes. I currently work as a developer in the videogame industry and often times, for optimization purposes, I need to use both bitmaps and vectors. Plus, as a UI designer, text is very important to use throughout a game's UI. If you notice, when a font gets placed in an in-between position related to pixels, the text becomes blurry looking in appearance (graphical elements around the text can also appear blurry when in between pixel values as well). This can make UI pages or HUDs look sloppy and unprofessional.
I've tried enabling snapping (including enabling the grid, setting the grid to 1x1 pixel, then enabling both pixel snapping and grid snapping), but nothing seems to help in getting objects to place on whole pixels. Yes, I can manually change pixel values to whole numbers (which I'm currently doing). But when you have to manually position 100 keys on a keyboard, it gets old pretty quick!
I have a simple AS1 script running on a button:
//
on (release) {
a = Number(answer2);
w = Number(withvat);
v = Number(vat2);
answer2 = (w / 117.5 * 100);
vat2 = (w / 117.5 * 100 * 0.175);
}
It works but the results are sometimes many decimal places long. Any way I can make my results round to two decimal places (accurately). So 5.6994 becomes 5.70 etc.
my cost per month textbox typically returns multiple decimal places, is it possible to limit it's output to two decimal places like real monetary calculations?
[Code]...
I want to round up a number calculation with 2 decimals after dot For example:
Code:
var tempCalcul:Number = 100.00 - 90.90;
var temp:Number = int((tempCalcul)*100)/100;
test.text = temp;
test.text is giving me 9.09 when it should give 9.10.
Just made a quick calculator but having trouble understanding how to round to no decimal places. Here is my code:
on (release) {
sum2 = int(sum1) * 5;
sum3 = sum2 / 12;
}
Here is an image of the calculator
The following is the code for the press button:
Code:
on (press) {
var charges:Number = Number(charges_txt.text);
var payments:Number = Number(payments_txt.text);
[Code]...
on the dynamic text labeled PERCENTAGE I cant get it to give me just 2 decimals.
I have this number
2,555555556
and I want to round it dynamically into 2,60 how can I do this in flash?
I'm having some problems getting a dynamic text box to only return two decimal places. I have a time line scrubber tied to a dynamic text box that outputs what frame it is on - but I need it divided by 20, then subtract 0.05
Code:
frameTxt.text = String((ballAnimationMC.currentFrame / 20) - 0.05);
This works great most of the time...but other times returns something like 20.9999999. What can I do to ensure there are ever only two decimal places returned? See the attached FLA.
How do you round a number to 2 decimal places using the Math.round function?
View 3 RepliesI have a Number type variable that is outputting as 3.46666666 I want it to round it up to 1 decimal place i.e., 3.6 so I can display it in a text field what do I do any ideas?
View 2 RepliesI'm making an application in actionscript that deals a lot with numbers. One of the problems, which has been driving me nuts for a while now, is "almost integers". Essentially, if I do something like the square root of 3, then square it, it gives me 2.99999999999999 (this is just the easiest example to test with). I've tried forcing it to round to a certain decimal place ([URL]), using toFixed, toPrecision, and math.round.
I've been spending all afternoon on this, and have found that actionscript uses 15 point/precision floating numbers. So with the squareroot/square of 3 above, if I specify it to go to 14 decimal places/significant figures, it gives me 3.0000000000001 (essentially ending with a 1), and if I specify it to 15 digits, it gives me (2.9999999999999).
I'm pretty sure that Actionscript is trolling me, because if the number was 2.9999999999999 (15 digits) and I rounded it to 15 digits... it'd make sense to keep it the same because there is no number after the last 9. However, if I round it to 14 digits, shouldn't the 14th 9 (15th digit) be chopped off, and the 13th 9 (now the last digit) rounded up, and making it carry over until it just becomes 3? Where did the 1 come from when rounding to 14 digits? If there was a 9 before that, shouldn't it have made it round to 3 when rounding to 15 digits?
I don't understand why my number generates more than two decimal places after toFixed is applied. Am I misunderstanding the purpose of toFixed()?
Here is the code (one case in a switch):
Code:
case jewelry:
m_premIncrease = m_premData[m_selectedIndex][0][0] * m_premData[m_selectedIndex][3][0];
trace("Jewelry premium increase is " + m_premIncrease);
m_premIncrease.toFixed(2);
[Code]...
i have a bunch of movieclips inside a container movieclip.they all have really crazy coordinates, like x: 1590.24 and y: 696.66443i was wondering - is there an easy way to "quantize" them to round their coordinates to the closest integer?
View 2 RepliesI'm having troubles declaring decimal numbers.For instance I'm trying to create a variable which is 0.8.I do this:
Code:
var defenseValue:Number = 0.8;
However, when I try using defenseValue it always ends up being NaN.I also tried var defenseValue:Number = new Number(0.8); But that doens't work either.
This one seems though, as there isn't even a regular "round-to-specific-decimal" function.. (I know the work around for that though)[code]...
View 2 RepliesI've noticed this issue for a long time now in at least CS3 and CS4 on multiple machines, so I know I'm not crazy which is what I thought at first...Basically, when manipulating anchor points on a path (moving, deleting, etc.) often times (often enough for it to be noticeably annoying) this produces unexpected erratic effects on unrelated paths.
For example, while moving one point or entire path, another unrelated point/path is also moved or even deleted. It seems to make no difference that the other path is on a different layer or group, or locked, or hidden. Same thing goes for deleting. Often deleting a single point on a path will delete the entire path, or even stranger and more annoying, delete an entire unrelated path. Again, it even effects paths that are on separate layers and groups, and locked layers, which seems like it shouldn't even be possible.
How I can format numbers in Flash so that it will show two decimal places regardless of the number itself?
View 7 RepliesI have a function that adds the values of an array together and displays the output in a textArea(myText).
The code below works fine, but the output number is "11.5" I need this to be "11.50" and again if we set the array index [1] to "0" instead of ".50" I would need to show "11.00" instead of "11" which is what I am getting now!
var myArray:Array = new Array(1.50,.50,0,9.50); function addValues(myArray:Array):Number{ var arraySum:Number = 0; for (var i:uint=0; i< myArray.length; i++){ arraySum += myArray[i]; } return arraySum } trace(addValues(myArray)); myText.text = String (addValues(myArray));
whats the quickest way to round to decimal with infinite numbers?
I wanted to round 6.329784432421148+e
to 6.3297
using toFixed() rounds to .000001
Only solution I came up with was ,Number ( String( infinite num ).substring(0,6) ); To me this seems slow and CPU intensive, there has to be a more efficient way of accomplishing this.
This is my FLA I need to round the numbers in the farthest columns to 2 decimal points (ie: 19.00 rather than 19). My ultimate goal is to do it globally, but I'm not sure how to do it.
View 8 Repliesi am trying to use something like this
[Code]...
to represent dollar amounts... is there anyway to set the length of a float variable to do this? or is there any kind of dollar datatype in AS? (im using studio mx 2004)
How do I make it so that my timer does not display the decimal places when it increments by .10? I only want to see whole numbers...
View 6 RepliesIs there a way, or even better a class available in flash to help me round a number to a specific point. For example, I have need to have a number rounded to the nearest 15th, how would I do that?
View 7 RepliesIs there some easy way to restrict TextInput to accept decimal numbers in range -99.999999 to +99.999999 ?
it is Spark TextInput.
I am trying to restrict a TextField to 2 numbers and 1 decimal place, so something like: 3.5, 22, and 33.5 is acceptable.
View 5 RepliesI need to create a text field where the user can only write numbers from 3.0 up to 12.0 with any decimal. With any number he imputs i need another text field to store the number lowered to its nearest .5 number.[code]...
View 9 RepliesI've got this regular expression for decimal points:
var decimalPattern:RegExp = /(d+)(.)(d+)/gi
var result:Object = decimalPattern.exec(equation)
var i:Number = 0
[Code]....
Why is my output when i trace the number array this
3.2
3.2,3,.,2