Module:Currency

local util_args = require('Module:ArgsUtil') local util_math = require('Module:MathUtil') local util_text = require('Module:TextUtil') local lang = mw.getLanguage('en')

local h = {} local p = require('Module:EntityAbstract'):extends p.objectType = 'Currency'

function p:long(amount) if self.is_nil or not amount then return end if tonumber(amount) == 1 then return self.vars.singular:format(util_math.formatNumber(amount)) end return self.vars.plural:format(util_math.formatNumber(amount)) end

function p:short(amount) if self.is_nil or not amount then return end local unpadded = self.vars.short:format(util_math.formatNumber(amount)) return h.padDecimal(unpadded, self.vars.decimals) end

function h.padDecimal(str, places) if not places then return str end local tbl = util_text.split(str,'.',true) if tbl[2] then local zeroes = {} local i = #tbl[2] while i < places do			zeroes[#zeroes+1] = 0 i = i + 1 end tbl[2] = tbl[2] .. table.concat(zeroes,'') return table.concat(tbl,'.') end return str end

return p