Modul:StripToNumbers
Modul ze zadaného řetězce ponechá pouze první číselnou část.
- 123Nazdar -> 123
- 75.485 Khz -> 75.485
- margin-left: 20px; -> 20
Použití:
editovat{{#invoke:StripToNumbers | parametr | vstup }}
kde parametr může být
main
standardní použitíhalve
výsledek dělený dvěmamainnull
v případě vstupu bez čísel dá prázdný výledek místo chybu
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(" Neobsahuje numerická 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