ActionScript 2.0 :: What Is The Diffrence Between Math.floor And Math.round
Sep 26, 2005Wat is the diffrence between these two?
View 2 RepliesWat is the diffrence between these two?
View 2 RepliesHere is the problem:
var p:int = 0;
var n:Number = 0;
n = 32.999999999999999;
p = Math.floor(n);
trace(p); // returns 33
n = 32.11111111111111;
p = Math.floor(n);
trace(p); // returns 32
I would expect both of these to return 32. I have searched, and it seems this is an unreported bug in AS3. Or ... am I doing something wrong?
I want to round a whole number down to the nearest whole 10th. Like 52, becomes 50. Or 49, becomes 40. Or 2005, becomes 2000. Does that make sense? I imagine it has a math.floor approach, but I can not figure it out.
View 5 RepliesI have a code in which I have to use Math.round if a certain value is for example 3.67 (67 is higher than 50) and Math.ceil if a value is for example 3.23 (23 is lower than 50). What can I do to make flash calculate if what after the dot �.� in 3.23 (for example) is higher than 50?
View 2 Replieshow do you round a number to 4 digits... so 3.45356345345 is 3.456 and 1 is 1.000
View 5 RepliesI just ran some tests on round numbers.In preparation for getting max performance from AS3, I want to test as many areas as possible.All I did was generate a rounded random number a million times per frame, and record the time step in milliseconds.[code]Now the strangest part is having a non rounded random number generated a million times per frame netted an average time of 195 milliseconds, faster than using int as a random number. It must simply be that because Math.random isn't returning an integer, some form of conversion of taking place for your variable to be an integer.
Incidentally, using a Number instead of integer for the looping variable decreased performance minimally, just a few milliseconds.So simply having your variable as an integer, and using no rounding at all produces the fastest results if you want a round number.Remember though, there are many other areas in Flash to dramatically increase performance. Being that we're talking about a million iterations per frame, the difference in performance is not exactly dramatic here. One is not even twice as fast as another, over a million iterations.
For some reason my math.floor function is not working (trace yields "undefined")..[code]
View 2 Repliesproject width is 500
tile_width=25;
map_collumns=Stage.width/tile_width
trace(map_collumns)
Sometimes I get a decimal return. Then, when I close it,and run it again, it shows the correct answer.
What is math.round() do? In kirupa's Random numbers tutorial, he explained the use of math.floor(), but said round() was for another time. Yet I see that, and not .floor() in use in the random movement tutorial.
View 1 RepliesDoes flash go slower if it has to check on points that are for an example: 6.1873128932 versus: 6?
View 1 RepliesIs there a way to use Math.Round to ensure that ALL text boxes are on whole number, X,Y coordinates?
View 5 RepliesI have this number
2,555555556
and I want to round it dynamically into 2,60 how can I do this in flash?
I followed a tutorial from actionscript.org , the tricky part is that i wanted to change the Kb to a % display and it's messing up.Here's the previous code [AS]lastFrame = 1;
function loadedIndicatorFrame() {
var newFrame = int((_parent.getBytesLoaded() / _parent.getBytesTotal()) * 65) + 2;
if (newFrame - lastFrame > 4) { //too far
[code].....
How do you round a number to 2 decimal places using the Math.round function?
View 3 RepliesI am trying to add an eventlistener to the stage to respond to a resizing. When doing so i want to keep the relative position of a movieclip-object constant to the upper and leftmost edges, without changing the alignmode of the stage to top left. This can be achieved as shown below - examplified with two classes and reference to fla implied. The problem is now: When supplying the crucial statements with a Math.round, the movieclip-object gets displaced pixelwise with each new resizing:
myMovieClip.x -= Math.round((deltaX / 2));
myMovieClip.y -= Math.round((deltaY / 2));
Whereas the solution without Math.round is rock stable so it doesn't move at all, as it is not supposed to either! Can anyone figure out why? I know it's a luxury-problem, as my use case is solved. The problem is that i don't know why? Shouldn't the use of Math.round just assure the int-value? Such a small issue could easily spoil the whole app! And i fear that i have misunderstood something fundamental in as3, and suddenly become unpleasantly surprised.
[Code]...
Is there a way to use Math.Round to ensure that ALL text boxes are on whole number, X,Y coordinates?
View 4 Replieshow to fix this:
theText.scrollV = Math.round((slider.y area.y)*theText.maxScrollV/90);
I'm getting error:
1084:Syntax error: expecting rightparen before area.
It looks like a proper statement to me... all open brackets are closed.
So here is a piece of code that I have seen used a lot but don't really quite understand:
myVar = Math.min(Math.max(myVar, this.min), this.max);
or some variation thereof. I understand that the function first finds the maximum value of two values then turns around and uses that to find the minimum between two values.why this is done? And how do you know when to use it?
So here is a piece of code that I have seen used a lot but don't really quite understand:[code]or some variation thereof. I understand that the function first finds the maximum value of two values then turns around and uses that to find the minimum between two values.And how do you know when to use it?
View 3 RepliesI have created a flash 3d racing game which relies heavily on AS3's Math functions (sin, cos, tan, asin, acos, atan). It also makes heavy use of Matrix3D and Vector3D functions. The game works great on a PC, but the cars flip around and display innacurate positions on Mac computers. I know this is an issue due to the note on the Math docs page: [URL]
which states: "Note: The Math functions acos, asin, atan, atan2, cos, exp, log, pow, sin, and sqrt may result in slightly different values depending on the algorithms used by the CPU or operating system. Flash runtimes call on the CPU (or operating system if the CPU doesn't support floating point calculations) when performing the calculations for the listed functions, and results have shown slight variations depending upon the CPU or operating system in use."
how do I get this game to work on a Mac? I've tried using lookup tables and inline FastMath style approximations. But lookup tables still create the same problem, and the inline approximations I have found are not accurate enough for my game. I've also tried rounding values with floating point errors, but that has not seemed to help (in my implementation) either. I think the specific problem is with the use of Math.atan. I have not found an accurate approximation for this.. but I maybe that is not even necessary.
How do I get a random number between 0.8 and 1.2 using Math.random(); ? It would be nice if you explain.
View 1 RepliesAre there any math libraries for as3?
I need primarily statistics and regression formulas.
[Code]....
why is it undefined?
here's where all you math genius' get to help me out. I know that this principal is not difficult and was taught sometime during my highschool years.I need a math formula which reduces the ratio of any x:y to the smallest quanity possible. Basicaly so that the smaller of the two numbers is 1 and the other number is whatever it would be, compared to 1... but, I need it to work for both posative and negative numbers.(I'm the ultimate Math newb.. bear with me)
so. I have x=20, y=20 is 1:1
-20, y=-10 is -2:-1
x=10, y=-5 is 2:-1
ect.
so what is the formula for that?
Envrironment: Flash CS3, AS3 I have a horizontal image scrolling project that I am working on, and it works but is not super smooth, I would like it to be smoother when it scrolls, and realize that this is a function of pixels scrolled over time and the FPS of the document.
Right now I am moving the items 1 pixel at a time on a timer with delay of 8 to get it to scroll at the speed I want. I am moving it at 1 pixel in order to catch exactly when an object should wraparound to the beginning of the scroller to show up again. So I don't know that I can really change the number of pixels moved to more than 1 and still have the images spaced perfectly, which makes me think I need to increase or decrease the FPS and or the timer delay to make it scroll smoother. Right now it is at 30FPS and as mentioned the timer delay is 8. Small changes to the delay is not a problem.
This is one aspect of flash i don't fully understand. I would really like to know how to figure this out so I can apply it to future projects as well without doing trial and error to make it smooth. Can it be function, like a way to figure out I need to move a 120pixel picture 60 pixels in 2 seconds, what should my FPS be and the picture size and movement size and number of seconds can be variables?
this math isn't working well. I'm using it for a rotated drag and drop (of a tone arm on a vinyl, a kind of abstract turntable simulation). Right now it just moves a bit in the middle of the vinyl (values between 21 and 36, is this degree or what unit is this?), but it should move between the two edges. The problem is that I don't know enough about trigonometry functions. Therefore I can't optimize the math for envisaged behaviour. Does anybody have an idea/tip how I can get a bit more control on the math and its effect? (maybe with more trace functions)
[Code]...
Set variable as numbers
var monthly_num:Number = 0;
var ttl_num:Number = 0;
var ttl_rev_num:Number = 0;
// user-entered numbers from an Input textfields
monthly_num = monthly_txt.text;
ttl_num = ttl_txt.text;
// Multiply two user-entered number together to get new result
ttl_rev_num = ttl_num*monthly_num;
Attempts to assign numbers typed into textfields to numeric variables causes errors.
1067: Implicit coercion of a value of type String to an unrelated type Number.
I'm not that good with Math and i have a formula for a that it's universal from what i understood but i dont know how to transform it to work with Flash's Math API.
View 2 RepliesI'm generating a random number between min and max with this code:return min + (max - min) * Math.random();And it works. However, the random numbers are very little usually between "1 or 3" even if the max is 80.
View 3 RepliesI'm starting a project for browsers which requires some complex data processing. The algorithm I'm using is 50-100x faster when accelerated with GPU.
I could use JavaScript, Flash or other technologies with the browser.Is there any way I can access the GPU to accelerate the processing of my math?