--- Additions to the math module. module ("math", package.seeall) local _floor = floor --- Extend math.floor to take the number of decimal places. -- @param n number -- @param p number of decimal places to truncate to (default: 0) -- @return n truncated to p decimal places function floor (n, p) if p and p ~= 0 then local e = 10 ^ p return _floor (n * e) / e else return _floor (n) end end --- Round a number to a given number of decimal places -- @param n number -- @param p number of decimal places to round to (default: 0) -- @return n rounded to p decimal places function round (n, p) local e = 10 ^ (p or 0) return _floor (n * e + 0.5) / e end