Module:Addcommas
Revision as of 20:13, 4 October 2022 by Jacmob (talk | contribs) (Created page with "--[[ {{Helper module|name=Addcommas |fname1=_add(arg) |ftype1=Number |fuse1=Formats the number arg with commas |fname2=_strip(arg) |ftype2=Number |fuse2=Removes all commas from arg }} --]] -- <nowiki> -- -- Implements {{Addcommas}} --  local p = {}  -- -- main function -- keep public so it can be used in other modules -- function p._add( arg )     local lang = mw.language.getContentLanguage()     local z = tostring( arg )     local y = mw.text.split( z, '[%-–]' )     l...")
Module documentation
This documentation is transcluded from Module:Addcommas/doc. [edit] [history] [purge]
Module:Addcommas is required by Module:Exchange.
Module:Addcommas is required by Module:Infobox Item.
Module:Addcommas is required by Module:Infobox Monster.
This module is a helper module to be used by other modules; it may not be designed to be invoked directly. See Near-Reality:Lua/Helper modules for a full list and more information.
| Module | Function | Type | Use | 
|---|---|---|---|
| Addcommas | _add(arg) | Number | Formats the number arg with commas | 
| _strip(arg) | Number | Removes all commas from arg | 
--[[
{{Helper module|name=Addcommas
|fname1=_add(arg)
|ftype1=Number
|fuse1=Formats the number arg with commas
|fname2=_strip(arg)
|ftype2=Number
|fuse2=Removes all commas from arg
}}
--]]
-- <nowiki>
--
-- Implements {{Addcommas}}
--
local p = {}
--
-- main function
-- keep public so it can be used in other modules
--
function p._add( arg )
    local lang = mw.language.getContentLanguage()
    local z = tostring( arg )
    local y = mw.text.split( z, '[%-–]' )
    local x
    -- strip any existing commas
    z = z:gsub( ',', '' )
    -- handle ranges as separate numbers
    -- required by [[Module:Exchange]] (p._table)
    if y[1] ~= '' and y[2] then
        y[1] = tonumber( y[1] )
        y[2] = tonumber( y[2] )
        x = lang:formatNum( y[1] ) .. '–' .. lang:formatNum( y[2] )
    else
        x = lang:formatNum( tonumber( z ) )
    end
    return x
end
--
-- strips any existing commas in the input
--
function p._strip( str )
    str = tostring( str )
    return str:gsub( ',', '' )
end
function p.commas ( frame )
    local str = frame:getParent().args[1]
    return p._add( str )
end
return p