Ceiling and Floor

Revision as of 23:25, 17 June 2006 by imported>Slserpent (i'm not great with math, so please correct me if these don't work)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 normally, just typecast by turning the variable into a short or long.

float fNumber
short iNumber

set fNumber to 9.45
set iNumber to fNumber
;iNumber is now 9


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