Module:Gapnum

local p = {}

local getArgs

function p.main(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, {wrappers = 'Template:Gaps'}) local gap

if args.gap then gap = args.gap else gap = '0.25em' end

local ret_string = ' '

local number = tonumber(args[1]) if not number then return 'Error: parameter 1 did not parse as a number.' end

local int_part = number:floor local frac_part = number - int_part int_part = int_part:tostring local int_string = '' while int_part:len >= 3 do		int_string = int_string..' '..int_part:sub(-3)..' ' int_part = int_part:sub(1,-3) end if int_part:len > 0 then int_string = int_string..' '..int_part..' ' end ret_string = ret_string..int_string if frac_part ~= 0 then frac_part = frac_part:tostring local frac_string = '.' while frac_part:len >= 3 do			frac_string = frac_string..' '..frac_part:sub(1,4)..' ' frac_part = frac_part:sub(4) end if frac_part:len > 0 then frac_string = frac_string..' '..frac_part..' ' end ret_string = ret_string..frac_string end ret_string = ret_string..' '

return ret_string end

return p