Path of Exile Wiki

Please consider helping keep the wiki up to date. Check the to-do list of updates needed for version 3.14.0.

Game data exports will becoming later as the technical changes in addition to regular changes take some more time.

READ MORE

Path of Exile Wiki
Advertisement
Module documentation[view] [edit] [history] [purge]

local p = {}
local getArgs

function p.main(frame)
	if not getArgs then
		getArgs = require('Module:Arguments').getArgs
	end
	local args = getArgs(frame, {
		wrappers = 'Template:Decimals'
	})
	return p._main(args[1], args[2])
end
function p._main(n, d)
	local num = tonumber(n)
	if not num then
		error('Unable to convert "' .. tostring(n) .. '" to a number')
	end
	local decimals = tonumber(d)
	if not decimals then
		error('Unable to convert "' .. tostring(d) .. '" to a number')
	end
	local maxDecimals = 14 - math.floor(math.log10(num)) -- to allow a maximum of 15 significant figures, which is the highest guaranteed correct with doubles
	if decimals > maxDecimals then decimals = maxDecimals end
	local mult = 10^decimals
	num = math.floor(num * mult + 0.5) / mult
	if decimals < 0 then
		return tostring(num)
	else
		return string.format('%.' .. decimals .. 'f', num)
	end
end

return p
Advertisement