Module:Math: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
en>Dragons flight
(Add support for rounding to specified precsion)
en>Dragons flight
m (fix)
Line 17: Line 17:
-- Determine order of magnitude
-- Determine order of magnitude
function z.order(frame)
function z.order(frame)
return p._order(tonumber(frame.args[1] or frame.args.x or 0))
return z._order(tonumber(frame.args[1] or frame.args.x or 0))
end
end
function z._order(x)
function z._order(x)
Line 111: Line 111:
local value = tonumber( frame.args[1] or 0 );
local value = tonumber( frame.args[1] or 0 );
local precision = tonumber( frame.args[2] or 0 );
local precision = tonumber( frame.args[2] or 0 );
local current_precision = p._precision( value );
local current_precision = z._precision( value );
-- If rounding off, truncate extra digits
-- If rounding off, truncate extra digits
Line 123: Line 123:
-- Handle cases requiring scientific notation
-- Handle cases requiring scientific notation
order = p._order( value );
order = z._order( value );
if string.find( formatted_num, 'E', 1, true ) ~= nil or math.abs(order) >= 9 then
if string.find( formatted_num, 'E', 1, true ) ~= nil or math.abs(order) >= 9 then
value = value * math.pow( 10, -order );
value = value * math.pow( 10, -order );