Module:Strings
Jump to navigation
Jump to search
Documentation for this module may be created at Module:Strings/doc
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.reverseArgs(frame)
local args = getArgs(frame, {
trim = true,
removeBlanks = true
})
local result = {}
for _,v in pairs(frame.args) do
table.insert(result, 1, v)
end
return table.concat(result, '')
end
function p.formatInt(frame)
local args = getArgs(frame, {
trim = true,
removeBlanks = true
})
local number = args[1] or args['number'] or ''
if (number == '') then return '' end
if ((number):find(',') ~= nil) then return number end
return p._formatInt(number)
end
function p._formatInt(number)
local i, j, minus, int, fraction = tostring(number):find('([-]?)(%d+)([.]?%d*)')
-- reverse the int-string and append a comma to all blocks of 3 digits
int = int:reverse():gsub("(%d%d%d)", "%1,")
-- reverse the int-string back remove an optional comma and put the
-- optional minus and fractional part back
return minus .. int:reverse():gsub("^,", "") .. fraction
end
return p