Jump to content

Module:Strip to numbers: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
actually, mw.text.unstrip is better as it doesn't leave non-nowiki strip markers hanging around
add alt version of main which returns null if no number in string (can be used as "contains numeric" function)
Line 17: Line 17:
halvedNumber = (checkedNumber / 2)
halvedNumber = (checkedNumber / 2)
return halvedNumber
return halvedNumber
end
function p.mainnull(frame)
local theString = mw.text.unstrip(frame.args[1])
local onlyNumber
onlyNumber = (string.match(theString, "%-?[%d%.]+"))
checkedNumber = tonumber(onlyNumber)
if checkedNumber == nil then
return nil
else
return checkedNumber
end
end
end
return p
return p

Revision as of 20:40, 25 March 2018

local p = {}
function p.main(frame)
	local theString = mw.text.unstrip(frame.args[1])
	local onlyNumber
	onlyNumber = (string.match(theString, "%-?[%d%.]+"))
	checkedNumber = tonumber(onlyNumber)
	if checkedNumber == nil then
		error(" Input did not contain valid numeric data")
	else
		return checkedNumber
	end
end

function p.halve(frame)
	local checkedNumber = (p.main(frame))
	local halvedNumber
	halvedNumber = (checkedNumber / 2)
	return halvedNumber
end
function p.mainnull(frame)
	local theString = mw.text.unstrip(frame.args[1])
	local onlyNumber
	onlyNumber = (string.match(theString, "%-?[%d%.]+"))
	checkedNumber = tonumber(onlyNumber)
	if checkedNumber == nil then
		return nil
	else
		return checkedNumber
	end
end
return p