Module:WeightToPercent: Difference between revisions

From eMushpedia
Jump to navigation Jump to search
imported>Septembre
tentative d'arrondi 1 décimale
imported>Evian
No edit summary
Line 2: Line 2:


function p.convert(frame)
function p.convert(frame)
local weight = frame.args['weight']
-- frame.args values are strings in MediaWiki, so force numeric conversion
local totalweight = frame.args['total']
local weight = tonumber(frame.args.weight)
local totalweight = tonumber(frame.args.total)
if weight == nil then return "ERROR: weight input (1rst arg) is nil"
 
elseif totalweight == nil then return "ERROR: totalweight (2nd arg) input is nil"
if weight == nil then
elseif weight == 0 then return 0
return "ERROR: weight input (arg 'weight') is nil or not a number"
    end
elseif totalweight == nil then
    return tonumber(string.format("%.1f", weight * 100 / totalweight))
return "ERROR: totalweight input (arg 'total') is nil or not a number"
elseif totalweight == 0 then
return "ERROR: totalweight (arg 'total') is 0"
elseif weight == 0 then
return 0
end
 
return tonumber(string.format("%.1f", (weight * 100) / totalweight))
end
end
 
return p
return p

Revision as of 18:05, 2 March 2026

Documentation for this module may be created at Module:WeightToPercent/doc

local p = {}

function p.convert(frame)
	-- frame.args values are strings in MediaWiki, so force numeric conversion
	local weight = tonumber(frame.args.weight)
	local totalweight = tonumber(frame.args.total)

	if weight == nil then
		return "ERROR: weight input (arg 'weight') is nil or not a number"
	elseif totalweight == nil then
		return "ERROR: totalweight input (arg 'total') is nil or not a number"
	elseif totalweight == 0 then
		return "ERROR: totalweight (arg 'total') is 0"
	elseif weight == 0 then
		return 0
	end

	return tonumber(string.format("%.1f", (weight * 100) / totalweight))
end

return p