Difference between revisions of "Ceiling and Floor"
Jump to navigation
Jump to search
imported>Slserpent (i'm not great with math, so please correct me if these don't work) |
imported>DragoonWraith |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
If you want a number to be rounded | If you want a number to be rounded down, just typecast by turning the variable into a short or long. This can be tested/proven using the console in game. | ||
float fNumber | float fNumber | ||
short iNumber | short iNumber | ||
set fNumber to | set fNumber to 1.99 | ||
set iNumber to fNumber | set iNumber to fNumber | ||
;iNumber is now | ;iNumber is now 1 | ||
Line 34: | Line 34: | ||
set iNumber to (fNumber - (fNumber % 1)) + 1 | set iNumber to (fNumber - (fNumber % 1)) + 1 | ||
;iNumber is now 10 | ;iNumber is now 10 | ||
[[Category: Math Functions (CS 1.0)]] |
Latest revision as of 20:18, 25 April 2010
Here's how to get the ceiling and floor of a float variable. Floor is truncating the decimal portion (rounding down). Ceiling is rounding up the variable.
Take the number 9.45: The floor is 9. The ceiling is 10.
If you want a number to be rounded down, just typecast by turning the variable into a short or long. This can be tested/proven using the console in game.
float fNumber short iNumber set fNumber to 1.99 set iNumber to fNumber ;iNumber is now 1
It's only a bit more involved to get the floor. You basically just mod out the decimal portion and subtract.
float fNumber short iNumber set fNumber to 9.45 set iNumber to fNumber - (fNumber % 1) ;iNumber is now 9
And now the ceiling.
float fNumber short iNumber set fNumber to 9.45 set iNumber to (fNumber - (fNumber % 1)) + 1 ;iNumber is now 10